如果末尾没有 \n,则 Printf 不起作用

Ser*_*ket 1 c io printf newline

printf()C 中的函数\n最后是否需要 a才能工作?

我尝试打印出一个最后没有换行符的简单语句,但没有奏效。

谢谢。

ana*_*ciu 5

可能的原因是缓冲的行 stdout,(这是实现定义的,所以我不能 100% 确定)。在这些实现中,写入缓冲区的内容不会立即传输到输出。

使用"\n", 导致缓冲区刷新到输出并printf打印内容,缺点是"\n"也将打印。

作为替代方案,fflush(stdout)如果您不想打印该换行符,则可以使用。

对于输出流(以及输出最后一个操作的更新流),将任何未写入的数据从流的缓冲区写入关联的输出设备。