求助大牛:关于scanf的深入问题。

LixueDaddy 2012-04-15 05:30:40
问题在博客里面,请大家给我出出主意。http://blog.csdn.net/lixue_cui/article/details/7462073
...全文
118 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
LixueDaddy 2012-04-19
  • 打赏
  • 举报
回复
最终还是用getchar(),接在scanf后面解决的。
不清楚之前为什么不行。不过这个方法最简单了。
[Quote=引用 1 楼 的回复:]

用getch,getchar,scanf读取字符串或者字符的时候容易出现缓冲区残留'\n'的情况。


于是下次读取的时候,就会读取到'\n'.

为了防止这种情况,可以在scanf函数之前加下面三条语句之一:

标准:rewind(stdin);
windows扩展:fflush(stdin);
暴力:stdin->_cnt=0;
[/Quote]
evencoming 2012-04-15
  • 打赏
  • 举报
回复
用getch,getchar,scanf读取字符串或者字符的时候容易出现缓冲区残留'\n'的情况。


于是下次读取的时候,就会读取到'\n'.

为了防止这种情况,可以在scanf函数之前加下面三条语句之一:

标准:rewind(stdin);
windows扩展:fflush(stdin);
暴力:stdin->_cnt=0;
iEverX 2012-04-15
  • 打赏
  • 举报
回复
学习了

[Quote=引用 1 楼 的回复:]

用getch,getchar,scanf读取字符串或者字符的时候容易出现缓冲区残留'\n'的情况。


于是下次读取的时候,就会读取到'\n'.

为了防止这种情况,可以在scanf函数之前加下面三条语句之一:

标准:rewind(stdin);
windows扩展:fflush(stdin);
暴力:stdin->_cnt=0;
[/Quote]

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧