go for it! just do it! 加油!向前冲!做了再说!

关于使用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)    收藏  举报

导航