一个c语言的getchar()!=EOF的问题。。

the c programming language中有这样一个例子。说可以统计输入的字符数。。我用vc++6.0试了一下。没有的到正确的结果(事实上根本没有输出)。。谁能解释一下吗?
#include<stdio.h>
main()
{
double nc;

for(nc=0;getchar()!=EOF;++nc)
;
printf("%.0f\n",nc);
}

在Windows下,EOF代表CTRL+C,Linux/Unix下,EOF代表CTRL+D。
EOF的意思是End Of File,一般在读取文件的时候判断是否是文件末尾,Windows下输入的话只有输入CTRL+C,然后按回车才能退出追问

我输入ctrl+c然后那个命令窗口就直接关掉了。。好像看到一个输出0(无论我输入几个字符)

追答

说错了,是CTRL+Z,CTRL+C是直接终止程序,o(╯□╰)o,SORRY

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-27
#include<stdio.h>
main()
{
double nc;
char c;
for(nc=0;c=getchar()!=EOF;++nc);
//不行的话,就把c=getchar()!=EOF改成(c=gethchar())!=EOF
printf("%.0f\n",nc);
}
nc统计的是输入字符的个数
EOF键盘输入好像是ctrl+c追问

我输入ctrl+c然后那个命令窗口就直接关掉了。。好像看到一个输出0(无论我输入几个字符)

追答

#include
main()
{
double nc;
char c;
for(nc=0;c=getchar()!=EOF;++nc);
//不行的话,就把c=getchar()!=EOF改成(c=gethchar())!=EOF
printf("%.0f\n",nc);
getchar();//加一行看有没有用..
}
你也可以试试楼上的ctrl+z行不行?我好像记得不是很清楚..

第2个回答  2011-04-27
EOF常被作为文件结束的标志,你的程序中都没有任何文件操作。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网