`getchar()` gives the same output as the input string

Viewed 105363

I am confused by a program mentioned in K&R that uses getchar(). It gives the same output as the input string:

#include <stdio.h>

main(){
    int c;
    c = getchar();
    while(c != EOF){
         putchar(c);
         c = getchar();
    }
}

Why does it print the whole string? I would expect it to read a character and ask again for the input.

And, are all strings we enter terminated by an EOF?

5 Answers
Related