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,然后按回车才能退出追问
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追问
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常被作为文件结束的标志,你的程序中都没有任何文件操作。