在while循环中,循环变量的赋值问题,做一个笔记
以输出三行为例,每行5个:
第一种代码:(内层循环控制变量b定义在循环外)
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a=1,b=1;
while(a<=3)
{
while(b<=5)
{
printf("*");
b=b+1;
}
printf("\n");
a=a+1;
}
system("pause");
return 0;
}
以上代码输出结果:
第二种代码:(内层循环控制变量b定义在循环内):
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a=1;
while(a<=3)
{
int b=1;
while(b<=5)
{
printf("*");
b=b+1;
}
printf("\n");
a=a+1;
}
system("pause");
return 0;
}
输出结果:
![在这里插入图片描述](https://img-blog.csdnimg.cn/e2ce4a24029a425ba71ce71d93828d6d.png)
解释:
当b=1在while外循环时,b完成一次循环后值变为6.重新执行a时,b<=5不满足,所以不会执行:
当b=1在while内循环时,b完成-次循环后值变为6,重新执行a时,b被重新赋值。