printf不加\n就不显示要打印的内容?

299 阅读1分钟

当程序只写了这样一句,

image.png

那么在两秒内的时间里面,语句并不会被打印这是因为什么呢?

实际上printf的函数的内容是输入到输出缓冲区里面的,\n是充当了一个刷新缓冲区的作用,除此自外,程序正常结束也可以刷新缓冲区。 也就是说在语句后面加上return 0,或者加上exit(n)的时候,缓冲区会被刷新,这是程序结束后的普遍的表现

例外

当程序结束时有_exit()时,会直接清空缓冲区,语句就不会正常的被打印。这是因为这个函数就是立即终止进程的意义。

image.png

image.png