scanf读取输入时读入空格/回车的情况及处理方法


 

 

 这是我遇到的情况,圈起来的地方读入时,会把前面箭头处读n时的回车读入,导致读取不正确,一般情况下,这种问题会出现在%d与%c搭配的情况下。

原因:

  使用scanf从输入流缓冲区中读取数据,系统会把从键盘输入的字符先放入缓冲队列,直到键入回车键或者遇到文件结束符EOF时,再从输入缓冲区逐个读取字符;
解决:

  1,用%*c读入多余的回车符

  2,在%c前面加上一个空格

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM