我有如下代码:
#include <stdio.h>
int main(int argc, char *argv[]) {
printf("hello");
while(1){
// whatever here
}
}
问题是:为什么第一条指令被跳过?它只运行循环,永远不会打印 hello 。我用 gcc 和 g++ 编译了它,结果相同。
最佳答案
它确实运行,只是输出缓冲区在while
之前没有刷新。
使用printf("hello\n");
来代替。换行符将刷新缓冲区,以便立即将输出写入控制台。
关于while(1)之前的代码不运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35606614/