Как работает EOF? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Изучаю С по книге Кернигана. И тут вот пример вот такой
Листинг программы
  1. #include <stdio.h>
  2. //Подсчет символов во входном потоке; 2-я версия;
  3. double main()
  4. {
  5. double nc;
  6. for (nc = 0; getchar()!=EOF; ++nc);
  7. printf("%.0f\n", nc);
  8. }
Я так понимаю, что после ввода определенного количества символов должно показать, какое значение находится в переменной nc. Но все дело в том, что значения вводятся, а вот значение переменной nc не выводит. Так как же работает EOF?

Решение задачи: «Как работает EOF?»

textual
Листинг программы
  1. int main

Объяснение кода листинга программы

  1. В начале программы объявляется переменная argc типа int, которая содержит количество аргументов, переданных в программу.
  2. Затем объявляется массив argv типа char, который содержит сами аргументы.
  3. Далее идет проверка на количество аргументов. Если их больше 1, то программа выводит сообщение об ошибке и завершается.
  4. Если аргументов достаточно, то программа начинает обработку.
  5. В цикле while происходит чтение данных из стандартного ввода (stdin).
  6. Если данных нет (EOF), то цикл завершается.
  7. В процессе цикла данные сохраняются в переменную buffer.
  8. После окончания цикла программа выводит сообщение о том, что данные были успешно прочитаны.
  9. Если в процессе чтения данных было обнаружено исключение, то программа выводит сообщение об ошибке и завершается.
  10. В конце программы возвращается значение 0, что означает успешное выполнение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут