因此,Google对fflush(stdin)
进行快速搜索以清除输入缓冲区会显示许多网站警告不要使用它。但这正是我的CS教授教课的方法。
使用fflush(stdin)
有多糟糕?即使我的教授正在使用它,并且它似乎可以正常工作,我还是应该放弃使用它吗?
最佳答案
简单:这是未定义的行为,因为fflush
是在输出流上调用的。这是C标准的摘录:
int fflush(FILE * ostream);
ostream指向输出流或
更新流中
未输入最近操作,
fflush函数导致任何未写的
该流要传送的数据
到要编写的主机环境
到文件;否则,行为
未定义。
因此,这不是“有多严重”的问题。 fflush(stdin)
是完全错误的,永远都不要使用它。
关于c - 使用fflush(stdin),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58109281/