办法一:
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
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!