我在C中编写了两个程序来计算字符并打印值。如何在程序中输入数据来计算输入的字符数?
一个使用while循环和其他用途。编译时不会报告错误,但不会打印任何内容。
下面是使用而代码:
#include <stdio.h>
/* count characters and input using while */
main()
{
long nc;
nc = 0;
while (getchar() != EOF)
++nc;
printf("%ld\n", nc);
}
下面是使用为代码:
#include <stdio.h>
/* count characters and input using for */
main()
{
long nc;
for (nc = 0; getchar() != EOF; ++nc)
;
printf("%ld\n", nc);
}
编译和运行。
当我输入input并按回车时,会打印一个空白换行符。当我在没有输入任何内容的情况下回车时,再次打印空白换行符。我认为它至少应该打印为零。
换行符不是EOF。 – GManNickG 2010-07-21 21:46:55
我知道换行符是什么,我知道EOF是什么(在我的机器上EOF = -1)。我曾经说过,当有什么东西输入到程序中时,只会出现一个换行符,程序不会像我想要的那样打印字符数。 – MW2000 2010-07-21 21:49:47
我不知道我跟着你。如果你没有按Ctrl + D或Ctrl + Z,你还没有完成执行你的程序。 – GManNickG 2010-07-21 21:52:54