不知道何时起, 非常刻意避免在 for 循环体内改变变量值. 似乎是受别人观点影响, 但却并不知晓原因.
可是有时候用其他方法替代却不方便, 自己试了一下, 或许找到了一丝差异.
用这种方法赋值时, 没有出现问题:
复制代码 代码如下:
#include <stdio.h>
int main()
{
int i;
for(i=0; i<10; i++)
{
i = i+2;
printf("%d/n", i);
}
return 0;
}
但是另外一种赋值方法, 却是不行的.
复制代码 代码如下:
#include <stdio.h>
int main()
{
int i;
for(i=0; i<10; i++)
{
i = 2; // 将永远循环下去
printf("%d/n", i);
}
return 0;
}
不知是否只是这个原因, 才有很多提倡不要再 for 循环体内改变变量值的.