Dlaczego getchar () nie rozpoznaje zwrotu jako EOF na konsoli?
Mam poniżej krótki fragment kodu, którego używamPellesC.
Po wykonaniu kodu i wpisaniu kilku znaków do konsoli, naciskam enter.
Czy możesz mi wyjaśnić, dlaczegoprintf("%ld\n", nc);
linia nie wydaje się być wykonywana? Ponieważ żadne dane nie są zapisywane na konsoli.
#include <stdio.h>
int main(void)
{
long nc = 0;
while(getchar() != EOF)
{
++nc;
}
printf("%ld\n", nc);
}
Zdecydowałem się uczyć C dokładnie za pomocą książki K&R i wstydzę się powiedzieć, że ten raczej elementarny przykład mnie zakłopotał.