在书C编程语言计数字符

时间:2013-10-25 02:00:54

标签: c

所以当我算上字符时,我没有得到任何输出。 这段代码的输出是什么?因为当我编译并执行它时,所有我得到它的空白黑色空间。 我以为它应该是COUNT。我不明白。请原谅,我刚开始学习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)

欢迎使用StackOverflow。我将逐步引导您完成此代码的操作,也许这会有所帮助。

引入一些定义,特别是printf的定义:

#include <stdio.h>

声明main函数:

main()
{

声明并设置字符数的变量:

    long nc;
    nc = 0;

这是关键 - 循环,获得字符后的字符,直到收到的字符与EOF匹配,在大多数系统上都是Ctrl-D。

    while (getchar() != EOF)

为每个字符增加nc变量(增加1)。

         ++nc;

将字符数打印为长整数。

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

答案 1 :(得分:0)

运行程序时,它将等待用户输入(通过getchar()收集)。

您必须首先在终端中键入一些字符,然后按 ctrl + d 发送传输结束字符({{ 1}}将最终匹配)。

答案 2 :(得分:0)

每个文件都以EOF结尾。因此程序会计算到达EOF之前的字符数。迭代是使用while循环完成的。

您应该为该计划提供意见。

在程序所在的当前文件夹中创建一个文本文件sample.txt,然后将该文本文件作为程序的输入

program < sample.txt