Это 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', что имеет большой смысл.

Значит ли это, что пример из книги служит другой цели?

Ответы на вопрос(3)

Ваш ответ на вопрос