如何通过C中的CHARACTER COUNTING和LINE COUNTING程序获取字符或行数?

时间:2016-07-18 08:36:38

标签: c

我刚刚开始编写C程序,我正在接受Dennis Ritchie编写的C编程书的帮助。当我试图运行COUNTING字符或新行的程序时,我期待一些数字作为解决方案,但它没有发生,而只是允许我输入字符,没有值(行数/字符数)返回。 我是编程新手。 我很感激能帮到我。

字符计数

#include <stdio.h>

main( )
{
      long nc;

      nc=0;
      while (getchar( ) != EOF)
               ++nc;
      printf( "%1d\n",  nc );
}

2 个答案:

答案 0 :(得分:2)

正如你在行中看到的那样

while (getchar( ) != EOF)

您的程序在打印计数器之前需要EOF(文件结束)。

因此,您应键入文本,然后按 Ctrl + D (* nix命令shell中的EOF)或 Ctrl + Z (Windows)来剪切输入。

然后你的计数器将被打印出来。

此致

答案 1 :(得分:0)

好像你对向程序发送输入感到困惑。您的代码从所谓的STDIN逐个读取字符,直到它读取EOF(文件结束)标记。通常STDIN - 是一个键盘,所以你输入的内容似乎都是由getchar()读取的。如果要发送EOF - 请按Ctrl + D(unix系统)。另一种方法 - 使用预填充文本文件,并通过重定向将其用作程序的STDIN:

$ ./a.out < my_input.txt

这种方法适用于* nix和win系统。