龙空技术网

C语言printf()真的会将输出发送到屏幕吗?

芯片与自由 1151

前言:

眼前大家对“c语言清屏函数有什么用”可能比较注重,我们都需要知道一些“c语言清屏函数有什么用”的相关文章。那么小编也在网上收集了一些对于“c语言清屏函数有什么用””的相关文章,希望看官们能喜欢,看官们快快来学习一下吧!

C语言printf()真的会将输出发送到屏幕吗?

起初,printf()被声明为将输出发送到一个叫做buffer的中间缓存区。不时的将buffer中的内容发送到屏幕。标准C语言清楚的定义了什么时候将buffer的内容发送到屏幕。将buffer发送到屏幕或文件的操作称为flushing the buffer。

buffer满的时候会被发送;遇到一个新行符号\n会被发送;有一个即将发送的输入,比如scanf();

看一个例子:

依靠输入迫使输出到屏幕

第1、2行的printf()不会填满buffer并且也没有\n符号,但第3行马上有一个输入操作scanf(),要求输入。所以这个输入操作会强迫printf()被发送到屏幕。

当然,也有可能你遇到的是一个老版的scanf()实现,它是不会强迫flush。这样的结果就是屏幕不会有任何提示显示。在这种情况下,你可以使用一个\n符号让输出发送到屏幕上。修改后如下:

用\n符将打印输出的屏幕

这份代码就可以工作了,无论是否有一个即将到来的输入操作去flushing buffer。

还有一个解决方案就是用fflush()函数。

点击关注,持续学习

标签: #c语言清屏函数有什么用