简体   繁体   中英

How to count number of characters without the newline character?

Im writing a simple program to count the number of character user is entered, and i wrote an if to check wether there is a newline but still printing it..

the code:

#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;
}

what am i doing wrong?

Think about this line:

    if (numberOfCharacters != '\n')

how can it make sense? You are comparing the number of characters read so far with a newline, it's like comparing apples to oranges and surely won't work. It's another variable that you should check...

Change your loop to this.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM