getchar()函数不起作用

时间:2012-05-25 18:14:01

标签: c xcode

#include <stdio.h>

int main(int argc, const char * argv[])
{
    long nc;

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

这是代码,当我输入一个字符时,它会打印1然后打印2,即使我只输入一次。

我正在使用Xcode。

1 个答案:

答案 0 :(得分:7)

  

这是代码,当我输入一个字符时,它会打印1然后   打印2,即使我只打了一次。

但你确实按了return,不是吗?尝试按 CTRL + D 或注意循环中的换行符。也许是这样的?

int ch;
while ((ch = getchar()) != EOF) {
    if (ch == '\n')
        continue;
    ++nc;
    printf("%ld\n", nc);
}