c语言eof

C语言中EOF是什么意思?

eod 是end of file的缩写

你在用函数读入文件数据的时候,函数总会返回一个状态,是读取成功还是失败,那么这个状态怎么表示呢,所以就约定俗成定义一个标识符表示这个状态,就有了EOF

scanf函数只有在第一个参数为NULL(空指针)的情况下,才可能返回EOF,否则,返回成功格式化并赋值的参数个数(>=0)

所以,这个循环,将是一个死循环

扩展资料:

EOF是一个计算机术语,为End Of File的缩写,在操作系统中表示资料源无更多的资料可读取资料源通常称为档案或串流通常在文本的最后存在此字符表示资料结束

在C语言中,或更精确地说成C标准函数库中表示文件结束符(end of file)在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件

在文本文件中,数据都是以字符的ASCII代码值的形式存放我们知道,ASCII代码值的范围是0~127,不可能出现-1,因此可以用EOF作为文件结束标志

参考资料:EOF百度百科

c语言中的EOF想输入EOF就按Ctrl+z嘛,输入一串字符,然后回车,然后按ctrl+z,再回车,就行了全文结束符不是,EOF在asii代码中是没有正值的,它的值是-1,所以不能对应任何一个字符,所以就拿它作为结束标志
while((ch=getchar())!=EOF)和while((ch=getchar()!='n'))这两种区别就是前一种你得输入EOF,也就是按ctrl+z循环才会结束,后一种你按回车以后循环就会结束
就是一个结束标志而已,比如你把EOF或者'n'换成b,那就是程序检测到b后,也就是你输入b后循环就会结束,换成 那就是输入空格时循环结束
还有楼下说的回车是r那是错误的,r确实是回车符,但是我们键盘上的回车键输入的是n而不是r,这个n和r的区别百度上都有

(随机推荐阅读本站500篇优秀文章点击前往:500篇优秀随机文章)
来源:本文由易搜IT博客原创撰写,欢迎分享本文,转载请保留出处和链接!