黑马程序员技术交流社区
标题:
关于有char参与时的缓冲区问题
[打印本页]
作者:
kakam
时间:
2016-7-13 00:14
标题:
关于有char参与时的缓冲区问题
/Users/apple/Desktop/screenshot.png
如图在循环中涉及到字符输入的时候,经常要加rewind(stdin)这个清除缓冲区的函数.
如果不加经常出差错,如输入R 会打印两次:
请问当输入R的时候为什么会出现两次,原理是什么样的?
谢谢
作者:
kakam
时间:
2016-7-13 00:15
作者:
wangxiaopang
时间:
2016-7-13 00:19
你这是啥?发一个你屏幕上的图片地址当做截图?没看到具体的图,不过打印两次有可能是回车也被认为是一个字符了
作者:
kakam
时间:
2016-7-13 00:21
可以看到吗?
作者:
kakam
时间:
2016-7-13 00:23
是这个
作者:
kakam
时间:
2016-7-13 00:28
wangxiaopang 发表于 2016-7-13 00:19
你这是啥?发一个你屏幕上的图片地址当做截图?没看到具体的图,不过打印两次有可能是回车也被认为是一个字符 ...
貌似是这样的,可是enter 在这里不是执行命令吗?怎么能当字符吗?当了字符就不能够当命令了啊.
回复里面有图
作者:
13453650568
时间:
2016-7-13 15:40
你不写rewind(stdin);scarf会先从缓冲区拿数据
作者:
kakam
时间:
2016-7-13 21:48
现在只要有scanf 和 char 后面就加rewind(stdin)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2