Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Что означает эта строчка в СИ ?

ястреб ворон Мыслитель (7050), закрыт 4 года назад
While ( (grade=getchar() )!=EOF
Что означает EOF?
Лучший ответ
Krab Bark Искусственный Интеллект (299076) 4 года назад
"В стандартной библиотеке Си функции ввода-вывода, в частности доступа к файлам, могут возвращать значение, равное символьной константе EOF для индикации, что достигнут конец файла. Реальное значение EOF является отрицательным числом, зависящим от системы (в основном −1)"
ястреб воронМыслитель (7050) 4 года назад
А что он здесь делает? Допустим получил символ F и дальше что? Что он с ним делает?
Krab BarkИскусственный Интеллект (299076) 4 года назад
Никто не получал никакого символа F. EOF - это просто заранее определенное в языке имя числа, используемого как признак конца файла. Есть и другие имена различных часто используемых констант и функций. определенные в библиотеке stdio.h.
Просто когда файл заканчивается, попытка чтения за его концом выдает специальный символ, используемое в программах имя этому символу EOF (сокращение от слов End Of File), а его код обычно -1.

while ( (grade=getchar() )!=EOF означает "пока функция getchar() не выдала специальный символ, означающий, что она больше прочитать из файла ничего не может, так как достигла конца файла, прекратить выполнение цикла".
Krab BarkИскусственный Интеллект (299076) 4 года назад
Точнее, не "прекратить выполнение", а "выполнять цикл, пока функция getchar() не выдала...."
Остальные ответы
Пыонэр Иванов Мыслитель (5190) 4 года назад
конец файла
end of fail
ястреб воронМыслитель (7050) 4 года назад
Ну это я знаю. Что он означает?? Допустим получил символ F и что?? Что он делает?
ХлебушекОракул (76685) 4 года назад
конец неудачи ))
Андрей_65000 Просветленный (22816) 4 года назад
EOF - End of file
В этой строчке переменной grade последовательно присваиваются значения из файла с типом char.
ястреб воронМыслитель (7050) 4 года назад
Что это означает?? Допустим ввёл буквы F и потом что??
Андрей_65000Просветленный (22816) 4 года назад
Есть к примеру, файл длиной 100 символов.
Вот в цикле они будут пройдены.
А по достижении конца файла будет выход из цикла.
Хлебушек Оракул (76685) 4 года назад
Как только ткнешь комбинацию ctrl+D в терминале, ввод закончится (и цикл соответственно), в терминале ты не можешь ввести EOF, поэтому EOF == ctrl+D
Похожие вопросы