【发布时间】:2015-04-14 21:22:07
【问题描述】:
C语言中的scanf,我对返回值有点困惑。
说明书上写着:
- 如果在第一次成功转换或发生匹配失败之前到达输入结尾,则返回 EOF。
- 如果发生读取错误,也会返回 EOF,在这种情况下会设置流的错误指示符。
首先,如果在第一次成功转换之前或在匹配之前达到输入结束,我不确定它们的含义发生故障。这怎么可能?
第二,不知道读取错误和匹配失败的区别?
【问题讨论】:
-
对于屏幕输入,scanf会读取数据,直到你按下ctrl+z,也就是
EOF但是屏幕输入。 -
@YazanWYusuf:这取决于您使用的平台...在 DOS/Windows 上,Ctrl+Z 将发送
EOF;在 Unix 类型的系统上,通常是 Ctrl+D 信号EOF。