You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言中EOF的值是多少?基于UNIX标准的验证方案

C语言中EOF值的准确定义与验证

不少朋友都在纠结C语言里EOF到底是个什么值,我之前也碰到过这个困惑,特意查了标准并做了验证,下面给个符合UNIX标准的准确解答和测试代码。

EOF的标准定义

根据C标准库<stdio.h>的明确定义,EOF的值为-1,这是符合UNIX规范的标准设定。

验证代码示例

下面是一段可以用来验证EOF输入行为的代码:

#include<stdio.h>
main() {
    int c;
    while((c=getchar()) != 0x4) {
        printf("%c", c);
    }
    printf("Exited with EOF value\n");
}

这段代码的循环条件用了ASCII码0x4(对应终端输入的Ctrl+D)来判断,运行时你输入的内容会被原样输出;当你按下Ctrl+D再回车,程序就会跳出循环并打印退出提示,以此验证EOF的触发逻辑。

测试建议

如果想实际验证EOF的取值和程序行为,推荐在Dev-C++ IDE中运行这段代码,操作起来更直观。

内容的提问来源于stack exchange,提问作者mcubesdev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 00:49:09