如以下例子:
int b=5a;
for(a=1;b<50;a++) \这一步为什么不可以用b作为循环结束条件
printf(“%d”,a);
这个代码运行时会出现死循环,是为什么呢?
把循环条件换成a就可以正常运行了 但是之前已经定义了b=5a 为什么不能用b呢?
因为循环终止条件是b<50,你都没有改变b的值,循环条件恒成立,自然就死循环了。
b=5a,你只是在循环上面执行了,给b赋了初始值,后面并没有取修改。
因为b=5*a是在循环外面定义的 ,并不会随着a的改变而改变b的值啊!!!或者你改成这样就可以了:
for(a=1;b<50;a++,b=a * 5)
这样每次循环b的值就随着a的改变而改变
因为b=5a只执行一次啊,你又没写进循环体里面,它不变啊
如果改成 for(a=1;b<50;b) 当a=1 b=5,b<50成立,但是a没有变化,所以会永久成立,一直循环。就算换成b++,也只是b变成6,a不变,一样永久成立。