Не срабатывает EOF в программе - C (СИ)
Формулировка задачи:
У меня стоит Visual Studio 2010 написал простенькую программу
компилирую программу всю супер начинаю вводить символы затем Enter к примеру у меня 5 строк. Что в данном случае подразумевает конец ввода символов EOF ctrl+z или другая комбинация клавиш... просто в конце у меня не выводит количество строк. Либо я что то не так делаю перечитал похожие темы но до меня что то не доходит.....
#include "stdafx.h" #include <stdio.h> int main() { int k,kk; kk=0; while(k=getchar() !=EOF) if(k=='\n') ++kk; printf("%d\n",kk); }
Решение задачи: «Не срабатывает EOF в программе»
textual
Листинг программы
while((k = getchar()) != EOF)
Объяснение кода листинга программы
- В начале программы открывается файл для чтения посимвольно с помощью функции getchar().
- В тело цикла while попадает значение, полученное из функции getchar(), которое приводится к типу int с помощью оператора (int) и сохраняется в переменной k.
- В условии цикла while проверяется, не равно ли значение переменной k символу конца файла EOF.
- Если условие в цикле while не выполняется, то программа продолжает работу, считывая очередной символ из файла и присваивая его значение переменной k.
- Если условие в цикле while выполняется, то программа завершает работу, выводя на экран сообщение об ошибке или выполняя другие действия, связанные с окончанием файла.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д