标准规定fflush()函数是用来刷新输出(stdout)缓存的。对于输入(stdin),它是没有定义的。GCC编译器没有定义它的实现,所以不能使用fflush(stdin)来刷新输入缓存。
如果需要清空stdin,我们可以通过读取剩余的字符来实现:
char ch;
while((ch = getchar()) != '\n' && ch != EOF);
标准规定fflush()函数是用来刷新输出(stdout)缓存的。对于输入(stdin),它是没有定义的。GCC编译器没有定义它的实现,所以不能使用fflush(stdin)来刷新输入缓存。
如果需要清空stdin,我们可以通过读取剩余的字符来实现:
char ch;
while((ch = getchar()) != '\n' && ch != EOF);