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
相关产品推荐
相关产品推荐

