Это 6,5,9 / 3.
тоящее время я читаю книгу «Язык программирования Си» Ритчи и Кернигана. И я довольно смущен использованием EOF вgetchar()
функция.
Во-первых, я хочу знать, почему значение EOF равно -1 и почему значениеgetchar()!=EOF
0. Прошу прощения за мой вопрос, но я действительно не понимаю. Я действительно пытался, но я не могу.
Затем я попытался запустить пример из книги, который может подсчитать количество символов, используя приведенный ниже код, но кажется, что я никогда не выхожу из цикла, даже если я нажимаю клавишу ввода, поэтому мне интересно, когда я достигну EOF?
main(){
long nc;
nc = 0;
while (getchar() != EOF)
++nc;
printf("%ld\n", nc);
}
Затем я прочитал ту же проблему вПроблема с EOF в C, Большинство людей советовали вместо EOF использовать терминатор \ n или нулевой терминатор '\ 0', что имеет большой смысл.
Значит ли это, что пример из книги служит другой цели?