【C语言】清空输入缓存区的几个方法

办法一:

1 scanf("%d", value);
2 setbuf(stdin, NULL);

stdin输入流由默认缓冲区转为无缓冲区。这样scanf()输入完毕后,缓冲区内的东西就消失了。

办法二:

1 while ((c = getchar()) != EOF && c != '\n');

使用getchar()不断获得缓冲区内的内容,直到缓冲区空为止。建议使用这种方法

办法三:

1 fflush(stdin);

这种方法不在 C 和 C++ 标准定义里,并非所有编译器都支持这个函数(例如Linux下的GCC就不支持),所以代码的可扩展性较差。
原文链接: https://www.cnblogs.com/wildcardo/p/12183415.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/191827

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月12日 下午5:51
下一篇 2023年2月12日 下午5:51

相关推荐