【发布时间】:2013-12-16 14:39:46
【问题描述】:
我只是想知道为什么会这样:
int i;
for (i=0; i<5; i++){
printf("%d\n",i)
}
printf("Here i get the result that misleads me : %d\n",i)
最后一个值为 5。
我的逻辑是:
From 0 to 4 -> printf
If i > 4 (since we are dealing with integers) stop the loop.
但是循环停在 4 而不是 5 !为什么我在循环后得到 5 ?为什么它会增加?
任意?
谢谢,
【问题讨论】:
-
循环运行只要 iis 5 时它才会停止。因此,完成时当然是 5。当它为 4 时,尚未满足中断条件。
-
@Larry 既然我们有 7 个答案都是零票,你会这么好心并选择获胜者吗? :)(接受答案)
-
我注意到许多答案(似乎用不同的词在说同样的事情)得到了赞成票和反对票,净为零。奇怪吗?
-
这种情况下最难的就是选择赢家!所有的答案都非常有启发性! :)
-
@Larry - 在这种情况下,没有“错误答案”可供您选择 - 只有您认为最有帮助的答案(正如您评论的那样,“简单的语言”)。很高兴我们能够提供帮助。