C语言中 这 while(a!=EOF) 条件的意义是什么?

来自:排名    更新日期:早些时候
c语言中while(scanf(%c,&a)!=EOF)的用法,要详细解释~

while(scanf(%c,&a)!=EOF),这个是如果读取正确,则一直读取数据。
数组直接用a,是指传递了a数组的首地址,根据a的偏移量读取数据。a[]是指单独赋值数组中的某个值。
存储字符串用字符数组,可以直接赋值,也可以按照下标赋值,按照下标赋值需要在结尾手动添加“\0”。

这个是因为scanf每次只根据你写的格式 读取数据, 比如按你的 如果 输入 1 2 3 4 5 6, 他就会读取俩个数据, 1和2 ,然后输出a+b=3
然后再次进入while循环, 读取俩个数据,3 和4 输出7
但是因为EOF特殊,按回车也会截止, 所以你可以把 EOF换成 0 ,
但是这样 你输入a,b的时候 就不可以是0了

while是C语言的循环结构标识符,当while后括号内的条件成立(为真)时,会执行循环体,否则会退出循环。

!=为C语言中的条件运算符之一,读作不等于。其形式为
a!=b
计算规则为:
1 当a与b相等时,该表达式结果为假,即0;
2 当a与b不相等时,该表达式结果为真,即1。

EOF为End Of File的简写,这是一个宏定义,代表文件结束符,其值为-1。

于是这段代码的含义为,执行循环,直到a值为EOF时退出。

如楼上各位说的,EOF是为了判断你什么时候输完了以退出循环,按ctrl+Z的时候,进程会关闭标准输入,这时候getchar就会返回-1,也就是EOF,然后退出循环。当然,你并不一定要设置成EOF,你也可以设置成输入ESC后退出,ESC的键值是27,所以把while那行改成while(a!=27),这样你按ESC后,再按回车就退出了

EOF是文件结束符,语句表示如果a不是文件或字符串结束符就循环

这条件的意思就是说,除非你按下ctrl+z,否则就不会跳出while循环~

EOF是end of file的缩写
就是直到文件末尾
你要是用键盘输入的话是Ctrl+Z 然后再回车 就跳出循环了

你撒谎,我 while(a!=27) 按ESC 再回车,没反映,一样可以继续输入别的字符
哦,我用的是unix操作系统,按ESC的时候是27,不知道你用的是啥的,不然你可以换一个
比如 输入a的时候退出,改成 while(a!='a')

这一句在程序中起到什么作用呢??
控制循环啊,如果没遇到文件结束符就输出

a是多少就遇到文件结束符呢
比如输入一个字符串abcd,当你按下回车的时候,表明字符串输入结束,系统自动为字符串加上结束标志,一般为‘\0’,这就是所说的结束符了

确实,我按了 ctrl+Z 键 就退出了,为什么他要这么写,还有哪些语句可以代替他的写法?
EOF在C语言代表文件结束标志。
程序这么写的原因,就是给一个跳出死循环的方法,
这程序是从键盘上读取输入的,按键盘上的ctrl+z,就代表输入了一个文件结束标志~
替代写法么~ 得看你想怎么替代了~

这一句在程序中起到什么作用呢??
就是起到读数据 如果你不知道数据有多少个 就读到文件最后


C语言中 这 while(a!=EOF) 条件的意义是什么?视频

相关评论:

相关主题精彩

版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

Copyright © 喜物网