Как работает EOF? - C (СИ)
Формулировка задачи:
Изучаю С по книге Кернигана. И тут вот пример вот такой
Я так понимаю, что после ввода определенного количества символов должно показать, какое значение находится в переменной nc. Но все дело в том, что значения вводятся, а вот значение переменной nc не выводит.
Так как же работает EOF?
#include <stdio.h>
//Подсчет символов во входном потоке; 2-я версия;
double main()
{
double nc;
for (nc = 0; getchar()!=EOF; ++nc);
printf("%.0f\n", nc);
}Решение задачи: «Как работает EOF?»
textual
Листинг программы
int main
Объяснение кода листинга программы
- В начале программы объявляется переменная
argcтипа int, которая содержит количество аргументов, переданных в программу. - Затем объявляется массив
argvтипа char, который содержит сами аргументы. - Далее идет проверка на количество аргументов. Если их больше 1, то программа выводит сообщение об ошибке и завершается.
- Если аргументов достаточно, то программа начинает обработку.
- В цикле while происходит чтение данных из стандартного ввода (stdin).
- Если данных нет (EOF), то цикл завершается.
- В процессе цикла данные сохраняются в переменную
buffer. - После окончания цикла программа выводит сообщение о том, что данные были успешно прочитаны.
- Если в процессе чтения данных было обнаружено исключение, то программа выводит сообщение об ошибке и завершается.
- В конце программы возвращается значение 0, что означает успешное выполнение программы.