解决linux下fflush(stdin)无效
Posted sdushmily
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决linux下fflush(stdin)无效相关的知识,希望对你有一定的参考价值。
scanf("%d", &i); 只能接受整数,如果用户输入了字母,则这个字母会遗留在“输入缓冲区”中。
因为缓冲中有数据,故而 scanf 函数不会等待用户输入,直接就去缓冲中读取,可是缓冲中的却是字母,
这个字母再次被遗留在缓冲中,如此反复,从而导致不停地输出
void clean_stdin(void) { int c; do { c = getchar(); } while (c != ‘ ‘ && c != EOF); }
以上是关于解决linux下fflush(stdin)无效的主要内容,如果未能解决你的问题,请参考以下文章