当前位置: 代码迷 >> C语言 >> [求助]关于SCANF的一个费解的问题.
  详细解决方案

[求助]关于SCANF的一个费解的问题.

热度:135   发布时间:2007-10-18 17:01:02.0
回复:(远去的列车)用字符串char a[20];scanf(
哈哈!!!补充以下,scanf();无法输入带空格的字符串,如字符串中有空格,因用gets()输入;puts()输出;
----------------解决方案--------------------------------------------------------
以下是引用永夜的极光在2007-10-18 11:11:28的发言:
是这样的,我们通过键盘输入的时候,输入的内容会先放入缓冲区,

然后scanf从缓冲区读取,每次读取到有效的值,就会把读取的内容从缓冲区去除,

下次调用scanf时,如果缓冲区还有内容,就只会读缓冲区的内容,不会再要求输入。

使用fflush(stdin);语句可以清除缓冲区的内容



又多学一个函数
----------------解决方案--------------------------------------------------------

请问能将gets()和puts()的实现原理讲下么?


----------------解决方案--------------------------------------------------------
输入的文字先存入缓冲区,然后再从缓冲区里读取
----------------解决方案--------------------------------------------------------

那跟scanf有什么区别?


----------------解决方案--------------------------------------------------------

学习!


----------------解决方案--------------------------------------------------------
  相关解决方案