不理解字符计数程序的输出

时间:2015-11-17 05:35:33

标签: c

我刚刚开始学习c。将xcode下载到我的mac并购买了K& R的C编程语言。我现在在字符计数部分,无法理解程序给我的输出。 计划是......

#include <stdio.h>
main()
{
    long nc;
    nc = 0;
    while (getchar() !=EOF)
        ++nc;
    printf("%ld\n", nc);
}

我从这些页面中了解到,我需要按两次ctrl + d才能将EOF字符发送到程序,这样就行了。但是,它给出的答案是140,734,799,804,376(逗号是我的)加上字符串中的字符数。这个庞大的数字来自哪里?为什么程序只返回4代表“帮助”而不是140734799804380?

1 个答案:

答案 0 :(得分:0)

nc = 0 

++nc

此处缺少分号,请更改为:

nc = 0;

++nc;

我尝试了相同的代码:

./test.exe
hello<CTRL+D>5