while ((c = getchar ())! = EOF) Не завершается
читалЯзык программирования C " и я добрался до этой части входов и выходов.
Я читал другие темы о том, что консоль нераспознать ввод какEOF
, Так что я должен использоватьCTRL + Z в Windows илиCTRL + D в Unix (ни один из них не работает для меня).
Я также читал, что другие люди спрашивали то же самое, говоря, что они могут заставить его работать, проблема в их кодах была в синтаксисе, а не в том, что программа не завершалась.
Есть ли другое решение?
Это код:
#include
main()
{
int nb, nl, nt, c;
nb = 0;
nl = 0;
nt = 0;
while ((c = getchar()) != '\n'){
if (c == ' ')
++nb;
else if (c == '\n')
++nl;
else if (c == '\t')
++nt;
}
printf("Input has %d blanks, %d tabs, and %d newlines\n", nb, nt, nl);
}
Изменить:\n
должен был быть EOF, я бездельничал, прежде чем отправил, и я забыл, что изменил это: P
Это неЯ не работал с EOF, я просто пропустил этот.