之间有什么区别
for(i=0;i<n;i++) printf("Hello");
和
for(i=0;i<n;) printf("Hello");
我已经看到了在多个地方使用的两种类型的代码,但无法找出差异。
答案 0 :(得分:3)
我看到的唯一区别是“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
答案 1 :(得分:1)
第二个没有事后补充。它是可选的,但大多数时候你在那里更新索引。
答案 2 :(得分:0)
没有i ++的人会永远奔跑。没有什么可以增加它来达到它的最终条件。
答案 3 :(得分:0)
第二个代码没有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
没有改变,它将无限循环
答案 4 :(得分:0)
for(i=0;i<n;) printf("Hello");
除非您明确修改循环体中的i
,否则此代码永远不会终止。
for(i=0;i<n;){
i++;
printf("Hello");
}
将是一个有效的永久终止循环。