如何计算没有换行符的字符数?

时间:2013-01-31 20:29:28

标签: c

我正在写一个简单的程序来计算输入的字符用户的数量,我写了一个if if检查是否有换行但仍然打印它..

代码:

#include <stdio.h>

int main()

{
    char ch;
    int numberOfCharacters = 0;
    printf("please enter a word, and ctrl + d to see the resault\n");

    while ((ch = getchar()) != EOF)

    {
        if (numberOfCharacters != '\n')
        {
            numberOfCharacters++;
        }


    }

    printf("The number of characters is %d", numberOfCharacters);

    return 0;
}

我做错了什么?

2 个答案:

答案 0 :(得分:6)

想想这一行:

    if (numberOfCharacters != '\n')

怎么才有意义?您将目前为止读取的字符数与换行符进行比较,就像将苹果与橙子进行比较一样,肯定无法正常工作。这是你应该检查的另一个变量......

答案 1 :(得分:5)

将你的循环改为此。

while ((ch = getchar()) != EOF)
{
    if(ch != '\n') 
        numberOfCharacters++;
}