【发布时间】:2016-05-08 13:08:08
【问题描述】:
这是一个基本的 C 字符计数程序:
#include <stdio.h>
#include <stdlib.h>
int main(){
long nc = 0;
while(getchar() != EOF)
nc++;
printf("%ld\n" , nc);
}
当我输入“abcde”作为输入时,它显示值 6(触发 EOF 测试后),换行符 +1。但我怀疑getchar(),顾名思义,只考虑了 1 个字符。但是当我自己输入“abcde”时,它仍然有效。为什么会这样?我在这里有什么问题?
【问题讨论】:
-
每次循环只读取一个字符。 nd 计算此类通过的次数。我不明白为什么你会认为它很神秘。
-
去掉循环再看看!
标签: c