不知道何時起, 非常刻意避免在 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 循環體內改變變量值的.