鱼C论坛

 找回密码
 立即注册
查看: 2070|回复: 3

关于EOF,NULL,NUL的几个问题

[复制链接]
发表于 2016-9-5 11:03:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
学了一段时间的c语言,有几个问题还是不太明白,自己也百度过 ,不过还是有点迷糊,所以想请教一下各位。
1.NUL到底是什么?在ASCLL码表中,它是0,那是不是代表它是一个空字符呢?
2.EOF到底什么?百度说EOF==-1,例如:scanf(“....”)==EOF    ,什么情况下这个表达式为真?
3.文件结尾又是什么?是遇到空字符,空指针还是换行符么?
4.NULL是空指针,但是空指针有什么用呢?百度上有人说NULL是定义的宏,#define NULL  int*  0    这样吗?
希望能帮帮我~谢谢大家~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

头像被屏蔽
发表于 2016-9-5 20:21:50 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-5 22:48:07 | 显示全部楼层
NULL是一个预定义的东西,一般用作指针为空等情况,如果打印其值得话应该是为0的,但是你不应该纠结于他到底是什么,而应该知道它用在哪里就好。EOF也是一个预定义的宏,其值为-1,但是其类型是int,这点值得注意。NUL我不知道~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-6 21:23:02 | 显示全部楼层
1. NUL表示ascii码值为0的字符,也就是我们常说的'\0'
2. 当你输入ctrl+z换行后,scanf(“....”)==EOF    为真
3. 文件结尾就是文件中最后一个字符(如果有的话)的下一个字符
4. 你可以在VS中,右键点击你要查看的符号,然后选择“goto definition”就可以看到该符号的定义了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 03:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表