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 会在编译原始码前展开实际值给预处理器。
#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和一个空字符。
你可以看看。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯