int main()
{
for (;;)
printf("This is a loop");
//getch();
return 0;
}
从Codeblocks内部运行可执行文件,它只返回任何程序,但使程序无法使用,即挂起程序。预计不会这样做。但是如果可执行文件是从外部启动的(直接双击.exe),则返回print()文本。这意味着System或Codeblocks无法处理此循环或可执行文件,或者可执行文件可能存在某种错误。但我不明白为什么从Codeblocks执行编译时没问题。可执行文件本身是32位(x86),从32位或64位cmd运行它无法进行更改。
我也尝试过与eclipse相同的功能。但IDE的结果相同。
答案 0 :(得分:1)
stdout
通常会被缓冲,直到您打印换行符\n
或致电fflush(stdout)
。此外,在无限循环中打印可能会导致其他问题,具体取决于IDE如何处理stdout
。
我建议您将循环更改为
for ( int i = 0; i < 10; i++ )
printf( "This is a loop\n" );