使用代码块编译并运行无限循环

时间:2014-10-27 18:17:00

标签: c++ c windows for-loop codeblocks

int main()
{
for (;;)
    printf("This is a loop");
    //getch();
return 0;
}

从Codeblocks内部运行可执行文件,它只返回任何程序,但使程序无法使用,即挂起程序。预计不会这样做。但是如果可执行文件是从外部启动的(直接双击.exe),则返回print()文本。这意味着System或Codeblocks无法处理此循环或可执行文件,或者可执行文件可能存在某种错误。但我不明白为什么从Codeblocks执行编译时没问题。可执行文件本身是32位(x86),从32位或64位cmd运行它无法进行更改。

我也尝试过与eclipse相同的功能。但IDE的结果相同。

1 个答案:

答案 0 :(得分:1)

stdout通常会被缓冲,直到您打印换行符\n或致电fflush(stdout)。此外,在无限循环中打印可能会导致其他问题,具体取决于IDE如何处理stdout

我建议您将循环更改为

for ( int i = 0; i < 10; i++ )
    printf( "This is a loop\n" );