-6

有什么区别

for(i=0;i<n;i++) printf("Hello");

for(i=0;i<n;) printf("Hello");

我已经在多个地方看到了这两种类型的代码,但无法弄清楚它们的区别。

4

5 回答 5

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

于 2013-07-02T16:37:43.653 回答
1

第二个没有后循环事后的想法。它是可选的,但大多数时候您会在那里更新索引。

于 2013-07-02T16:37:29.327 回答
0

没有 i++ 的会永远运行。没有什么可以增加它以达到它的最终状态。

于 2013-07-02T16:38:45.847 回答
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不改变,就会无限循环

于 2013-07-02T16:38:59.793 回答
0

for(i=0;i<n;) printf("Hello");i除非您在循环主体中明确修改您的代码,否则此代码将永远不会终止。

for(i=0;i<n;){
i++;
printf("Hello");
}

将是一个有效的永远终止的循环。

于 2013-07-02T16:39:48.483 回答