printf何时无法打印?

dis*_*bug 16 c printf

c中的printf函数并不总是在屏幕上打印输出.例如,如果您忘记将\n放在字符串的末尾,那么您有时会得不到o/p.printf无法打印时是否还有其他一些条件.我记得有人说有7个这样的条件.你能帮忙吗?

小智 20

标准输出是一个缓冲流,除非输入换行符,流关闭或程序正常退出,否则不保证刷新.如果程序异常退出,则流可能不会刷新.标准输出是行缓冲的,这就是换行符冲洗它的原因.有些缓冲区不会刷新换行符.


Iro*_*ony 8

它并不printf总是打印,它不能保证立即打印.这意味着如果您将其用于调试目的,那么您无法保证它会在代码中完全发生.如果你想确保它在你说它打电话时确实打印出来 fflush(stdout).

注意: 您通常不想使用,fflush(stdout)除非您正在调试,它真的是资源密集型,如果您关心速度性能,它有可能减慢您的速度.