while((c=getchar()) != EOF)是干什么的

能解释清楚一点么~~~

输入的字符赋值给C(因为是getchar所以一个个赋值的),然后C不等于文件结尾时,就可以循环!文件结尾自己查百度吧!追问

还是你说一说吧~~

追答

文件结尾你可以认为是一个文件末尾的字符(不显示出来的),一般EOF的值识别为-1(其实没有指定是什么值,总之就是非1非0的意思),这里变量C一个个字符识别,遇到最后的文件结尾时就跳出该循环!

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-05-04
表示当不是文字流或文件末尾是做某个动作

while((c=getchar()) != EOF)是干什么的
输入的字符赋值给C(因为是getchar所以一个个赋值的),然后C不等于文件结尾时,就可以循环!文件结尾自己查百度吧!

c语言里面的EOF的用法及意义
EOF是end of file 的简写, 如读到文件末尾,则函数返回一个 EOF值,它是一个宏定义,一般值是-1。使用示例如下:include <stdio.h>int main(){char c;while((c = getchar()) != EOF){putchar(c);}return 0;} 说明:在Windows上按CTRL+Z键,表示EOF。注意:EOF虽然是文件结束符,但并...

(c=getchar())!=EOF是什么意思
EOF 是-1 即读入的已不是正常的字符而是文件的结束符;当输入字符串的时候,可以使用getchar()读取其中的每一个字符,输入字符串的时候最后一般输入一个回车,回车以后输入缓存里面就没有数据了。只能使用while(getchar()!='\\n'){...}也就是读到回车就退出,否则会一直等待用户的输入 ctrl+c是...

c语言中while ((c = getchar()) != EOF)在这里为什么是输入回车就有输出...
ctrl+z是产生EOF,也就是你程序结束循环的标志 但是没有ctrl+z并不影响循环中代码的执行呀 你如果只按回车,就会一行字符发送到缓冲区,然后被getchar一个个在循环中读取、输出 直到这一行的最后一个字符读完,程序会等待下一串字符来到缓冲区 只到来到缓冲区的字符中包含ctrl+z,循环终止 懂?

EOF中的问题
本题中的“while((c=getchar()) != EOF)”是指,在结束输入之后要再输入一个结束字符(按CTRL+Z键)之后再按回车。\/\/--- include <stdio.h> int main(void){ char a;int i=0;while ((a=getchar())!=EOF)if (a=='\\n') ++i;printf("%d",i);return 0;} \/\/---...

C语言里的EOF(结束程序)怎么用?
一般EOF的值为-1,ASCII代码值的范围是0~255,不可能出现-1,因此可以用EOF作为文件结束标志。EOF在windows对应的按键是CTRL+Z键,在linux系统上对应的按键是CTRL+D。比如下面的代码:include <stdio.h>int main(){int c;while ((c = getchar()) != EOF)putchar(c);return 0;} 运行程序按...

getchar() != EOF 是什么意思?
就是获取到的字符不等于-1的意思。解释:1)getchar是一个函数,用于从键盘获取一个字符;2)EOF是一个宏,值是-1,用于表示文本文件的结束;3)通常应该是 (ch=fgetc())!=EOF 也就是从文件读取数据不是文件结束;4)但是如果使用了重定向结束,把键盘输入重定向到文件,也会出现getchar() !=...

C 语言,文件结束符 EOF问题
所以就错了。while((c=getchar())!=EOF)即使你前面定义了EOF:\/\/#define EOF -1 这也是错的。因为所有字符的ASCII码都是正的,根本就没有-1这个字符。你可以使用一个特殊的字符作为结束的标志,比如回车,那么那就应该改成这样的:while((c=getchar())!=13)回车的ASCII码就是13。

C语言基础: while (getchar() != EOF)
EOF是指end of file,这里是已经没有内容输入了,才会返回这个值(-1),这时候才会退出循环。一般情况下是要某个组合键才能表示输入结束的,否则一直都是输入一个字符(一般都是>0),所以这种情况下,循环都会继续。如果取消 !=EOF,那getchar()如果是从键盘输入内容,是无法输入'\\0'的,那这种...

while((ch=getchar())!=EOF&&ch!='\\n'); 为什么可以剔除输入行中的多余...
这句的意思是用while循环得到输入的字符,判断是否到结尾与判断得到的字符是否为回车,如果是结尾和回车,判断不成立,跳出循环

相似回答