为什么以下功能不打印"开玩笑!"。
void justCheck() {
printf("Just kidding!");
while (1) {
}
}
虽然这是印刷" Justing Kidding!"然后不停止" Just Kidding内循环!"。
void justCheck() {
printf("Just kidding!\n");
while (1) {
printf("Justing Kidding inside loop!\n");
}
}
任何人都可以解释一下逻辑吗?
答案 0 :(得分:3)
你的第一个例子
printf("Just kidding!");
输出被缓冲,因此不显示
在第二个例子中
printf("Just kidding!\n");
最后的\n
将刷新缓冲区,因此将显示该字符串。
在while循环之前的第一个示例中插入fflush(stdout);