【发布时间】:2011-03-07 01:00:33
【问题描述】:
我正在学习 C 并且有一些问题。请看下面的图片:
在阅读高亮文本时,我很困惑。是不是这样:当用户开始输入一些输入时,输入直接并立即放入缓冲区中。而当按下回车键('\n')时,程序从缓冲区读取并获取输入,然后清除缓冲区?
如果是,假设在程序中,我使用:scanf("%d", &a_variable),然后输入123astring,然后从缓冲区中读取并清除123。所以,缓冲区中现在包含“astring”吗?
我说的对吗?还是我误会了什么?
【问题讨论】:
-
严格来说是回车键。 :)
-
您将有关缓冲的通用文本与特定实例 scanf 混合在一起,该实例甚至可能未使用读取缓冲区。您的问题无法回答,因为它取决于 scanf 的实现细节和它所属的 stdio 包。