计算输入中的字符数

时间:2014-05-24 12:59:08

标签: c

我试图输入输入中的字符数,如下所示:

#include <stdio.h>

/* count characters in input; 1st version */
main(){
    long nc;

    nc = 0;
    while (getchar() != EOF)
        ++nc;

    printf("%ld\n",nc);
}

但它没有输出任何东西。怎么了?

3 个答案:

答案 0 :(得分:3)

这是因为你没有输入任何东西。 EOF并不意味着没有可用的角色; getchar()只是等待输入。 EOF表示你有CTRL + Z或CTRL + D.

答案 1 :(得分:1)

Someone asked the same question here 它应该回答你的问题,许多人的好解释

摘要来源和答案:
EOF表示&#34;文件结束&#34;。使用CTRL-D(unix风格系统)或CTRL-Z(Windows),循环将终止

答案 2 :(得分:0)

试试这个版本:

#include <stdio.h>

int main(void)
{
  long nc = 0;

  do
  {
    printf("%ld chars read so far, hit any key or Ctrl-D/Ctrl-Z to end.\n", nc);
    ++nc;
  } while (getchar() != EOF)

  printf("total number of chars entered: %ld\n", nc);  
}