关于使用scanf()函数读取字符遇到的问题
2021-08-29 22:06:31 星期日
- 问题描述
在进行一段输入后,想再使用scanf("%c",&ch);给ch进行赋值的时候会直接赋值ch='\n'
在查阅一些资料后发现:
1、用户输入的字符,会以ASCII码的形式存储在键盘缓冲区;
2、scanf()函数每执行一次,就从键盘缓冲区读出一个ASCII值;
3、调用scanf()函数时,用户最后输入的回车键也会以换行符’\n’的ASCII码储存在键盘缓冲区;
- 解决方案
- 1.使用getchar()来接收多余的空格。
- 2.使用fflush(stdin),rewind(stdin);清除缓冲区
posted on 2021-08-29 22:15 Pathfinder-L 阅读(108) 评论(0) 收藏 举报
浙公网安备 33010602011771号