基于c的for循环中改变变量值的问题
时间:2021-05-26 08:14:22|栏目:C代码|点击: 次
不知道何时起, 非常刻意避免在 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 循环体内改变变量值的.
可是有时候用其他方法替代却不方便, 自己试了一下, 或许找到了一丝差异.
用这种方法赋值时, 没有出现问题:
复制代码 代码如下:
#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 循环体内改变变量值的.