有什么区别
for(i=0;i<n;i++) printf("Hello");
和
for(i=0;i<n;) printf("Hello");
我已经在多个地方看到了这两种类型的代码,但无法弄清楚它们的区别。
有什么区别
for(i=0;i<n;i++) printf("Hello");
和
for(i=0;i<n;) printf("Hello");
我已经在多个地方看到了这两种类型的代码,但无法弄清楚它们的区别。
我看到的唯一区别是“i++”部分。在第一个循环中增加 i ,但在第二个循环中不增加。除非 n<=0,否则第二个循环永远不会结束。这称为无限循环。
我强烈建议阅读更多关于 C 循环的内容:
http://www.tutorialspoint.com/cprogramming/c_loops.htm
http://www.codingunit.com/c-tutorial-for-loop-while-loop-break-and-continue
第二个没有后循环事后的想法。它是可选的,但大多数时候您会在那里更新索引。
没有 i++ 的会永远运行。没有什么可以增加它以达到它的最终状态。
第二个代码没有i++
. 这意味着它不会i
在迭代期间更改索引变量。
第一行
for(i=0;i<n;i++) printf("Hello");
可以翻译成
int i=0;
while(i<n)
{
printf("Hello");
i++;
}
而第二个
for(i=0;i<n;) printf("Hello");
将转化为
int i=0;
while (i<n)
{
printf("Hello");
}
既然i
不改变,就会无限循环
for(i=0;i<n;) printf("Hello");
i
除非您在循环主体中明确修改您的代码,否则此代码将永远不会终止。
for(i=0;i<n;){
i++;
printf("Hello");
}
将是一个有效的永远终止的循环。