'\0','\n',EOF的区别

‘\0’ 
1.字符串结束符,字符串的结尾标志,存储在字符串的结尾。 
2.在ASCII字符集中对应空字符NULL,数值为0。 
3.在使用过程中要为其分配内存空间,但不计入字符串长度。 
4.用scanf(“%s”,s);和gets(s)输入字符串后系统会自动在字符串的末尾加上一个’\0’。(所以用puts函数输出字符串时会在字符串后停止)

比如:char cha[5]表示可以放4个字符的字符串,由于c/c++中规定字符串的结尾标志为’\0’,它虽然不计入串长,但要占内存空间,而一个汉字一般用两个字节表示,且c/c++中如一个数组cha[5],有5个变量,分别是 cha[0] , cha[1] , cha[2] , cha[3] , cha[4] , 所以cha[5]可以放4个字母的字符串(数组的长度必须比字符串的元素个数多1,用以存放字符串结束标志’\0’)或者放2个汉字(1个汉字占2个字节,1个字母占一个字节),cha[5]占5个字节的内存空间。

‘\n’(new line) 
1.换行(LF) ,将当前位置移到下一行开头。 
2.ASCII码值(十进制)是10.

EOF(End Of File) 
1.表示文件结束符(end of file)。 
2.在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。 
3.EOF 的值通常为 -1,在文本文件中,数据都是以字符的ASCII代码值的形式存放。ASCII代码值的范围是0~127,不可能出现-1,因此可以用EOF作为文件结束标志。 
4.C语言中,EOF常被作为文件结束的标志。还有很多文件处理函数处错误后的返回值也是EOF,因此常被用来判断调用一个函数是否成功。 
5.C语言中,EOF即文档的结尾.但是,当你写一个小程序,并以EOF作为判断条件时,就无法输入文档的结尾了,只能人工输入一个,这个人工输入的文档结尾就是Ctrl+Z.(Ctrl+Z的值是-1,可以尝试将EOF替换成-1) 
6.示例: 
while(scanf(“%d”,&n)!=EOF);//注意:scanf函数有返回值,详见《scanf函数》。 
while(getchar()!=EOF);//getchar函数也有返回值,格式错误返回-1.

资料来源:《EOF》——百度百科;《\0》——百度百科;
--------------------- 
作者:蜗壳初学者 
来源:CSDN 
原文:https://blog.csdn.net/u011572481/article/details/78507411 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值