`
jubincn
  • 浏览: 233253 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
文章分类
社区版块
存档分类
最新评论

GCC中gets()/fges()读入输入的问题解决 -- 清理stdin缓存

 
阅读更多

这几天一直被一个bug折磨,最终发现是stdin缓存了‘\n’,因此fgets()函数无法正常执行,解决的方法是在调用fgets()之前将缓存清空。VC中可以使用fflush(stdin)的方法,但在gcc中,fflush(stdin)的作用并不是清空stdin缓存,因此需要我们手动来做,代码如下:

代码说明:

这段代码的目的是读入矩阵的行、列数,然后让用户一次性输入整个矩阵。问题出在get_row_col()函数中的scanf上,解决方式是在fgets中加入清除缓存的循环。




分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics