计数程序将新行视为字符

时间:2019-03-23 19:45:20

标签: c counting

我正在使用C编程语言学习C,但是,在计算字符的程序中存在一个问题,即它将新行计算为字符。 如何使我的程序不计算\ n?

#include <stdio.h>

/* count characters in input; 1st version */
int main()
{
    int nc;
    nc = 0;
    while (getchar() != EOF){
        ++nc;
    }
    printf("%d\n", nc);
}

1 个答案:

答案 0 :(得分:-1)

int main()
{
    int nc;
    int c;
    nc = 0;
    while ((c = getchar()) != EOF){
        if(c != '\n' && c != '\r') ++nc;
    }
    printf("%d\n", nc);
}
在Windows中,

'\ r'和'\ n'都用于换行。