我有以下代码:
#include<stdio.h>
int main(){
int a = 1, b = 8;
while(a != b)
{
printf("asd");
fflush(stdout);
}
return 0;
}
显然,程序永远不会停止。但是为什么根本不打印“asd”呢?
编辑:这是完整的程序。没有其他线路。我第一次使用 Eclipse 和 MinGW,它没有打印任何东西。然后我尝试在 linux 中使用 gcc,它按预期工作,即使没有 fflush!因此,这种行为可能是由于某些编译器优化代码并修改了无限循环造成的。