永发信息网

EOF的十进值为什么是-1

答案:2  悬赏:60  手机版
解决时间 2021-12-31 07:00
  • 提问者网友:饥饿走向夜
  • 2021-12-30 10:10
请说明那个原因,过程分析一下
最佳答案
  • 五星知识达人网友:执傲
  • 2021-12-30 11:14
用记事本、UltraEdit或者其他文本编辑器打开stdio.h,会找到语句:
#define EOF (-1)

百度百科里的解释:
End Of File,在电脑的术语缩写通常为 EOF,在作业系统决定资料源无更多的资料可读取。资料源通常称为档案或串流。
在 C语言,或更精确地说成 C标准函式库,档案存取或其它 I/O 功能可能传回等于象征符号值 (巨集) EOF 指示档案结束的情形发生。实际上 EOF 的值通常为 -1,但它依系统有所不同。巨集 EOF 会在编译原始码前展开实际值给预处理器。
全部回答
  • 1楼网友:一叶十三刺
  • 2021-12-30 12:23
eof 的值通常为 -1,但它依系统有所不同。而ascii代码值的范围是0~127,不可能出现-1,因此可以用eof作为文件结束标志。 如果读入的是eof,那么输出结果不会是笑脸才对,你最好把你写的程序贴出来看一下。 ascii中01和02对应的是笑脸。 下面是我写的验证程序: #include  int main() { char c; if ((c = getchar()) != eof); { printf("%d\n", c); printf("%c", c); } return 0; }当输入ctrl+z时,输出结果是-1和一个空字符。 你可以看看。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯