同样的代码:
#include <stdio.h>
int main(){
printf("123");
while(1);
return 0;
}
在Windows下会输出123, 在Linux下则没有输出,就好像直接进入循环中一样。
若想在Linux平台下使用printf, 如果输出内容最后没有'\n', 最好在printf后面总是加上fflush(stdout),否则会因为缓冲机制产生一些莫名其妙的错误,难以调试。例如上面的例子,
如果写成
#include <stdio.h>
int main(){
printf("123");
fflush(stdout);
while(1);
return 0;
}
则不论在那个平台上运行结果都是一样的。