gpt4 book ai didi

c - 使用 fflush(stdin)

转载 作者:行者123 更新时间:2023-11-30 16:13:12 27 4
gpt4 key购买 nike

因此,在 Google 上快速搜索用于清除输入缓冲区的 fflush(stdin) 会发现许多网站警告不要使用它。然而,这正是我的计算机科学教授教授全类的方式。

使用 fflush(stdin) 有多糟糕?即使我的教授正在使用它并且它看起来效果完美,我真的应该放弃使用它吗?

最佳答案

简单:这是未定义的行为,因为 fflush 是在输出流上调用的。这是 C 标准的摘录:

int fflush(FILE *ostream);

ostream points to an output stream oran update stream in which the mostrecent operation was not input, thefflush function causes any unwrittendata for that stream to be deliveredto the host environment to be writtento the file; otherwise, the behavioris undefined.

所以这不是“有多糟糕”的问题。 fflush(stdin) 根本不可移植,因此如果您希望代码在编译器之间可移植,则不应使用它。

关于c - 使用 fflush(stdin),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58109281/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com