【发布时间】:2012-08-07 14:44:50
【问题描述】:
一个C语言的for循环问题困扰我。
当我写的时候:
#include<conio.h>
#include<stdio.h>
main()
{
int i = 0;
for( ; i ; )
{
printf("In for Loop");
}
getch();
}
输出:无打印。
代码被执行,但 printf 语句由于条件而没有打印。好的,这里没问题。
但是当我写这段代码时:
#include<conio.h>
#include<stdio.h>
main()
{
for( ; 0 ; )
{
printf("In for Loop");
}
getch();
}
输出:在 for 循环中。
我的 for 循环被执行了 1 次,但实际上它一定不能被执行。我不知道为什么? stackoverflow的编码器/程序员/黑客可以帮助我吗?请解释一下为什么我的 for 循环只给出一次这个输出。
【问题讨论】:
-
我无法重现此行为。使用 g++ 编译不带标志。
-
第二个循环中没有为我打印任何内容。使用苹果 LLVM 3.1
-
你是如何编译你的程序的?另外:如果您粘贴 整个 程序的第二个版本,而不是只是循环,那就太好了。
-
无法在 gcc 和 linux 上重现问题。
标签: c for-loop infinite-loop