Не срабатывает EOF в программе - C (СИ)

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

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

У меня стоит Visual Studio 2010 написал простенькую программу
#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);
}
компилирую программу всю супер начинаю вводить символы затем Enter к примеру у меня 5 строк. Что в данном случае подразумевает конец ввода символов EOF ctrl+z или другая комбинация клавиш... просто в конце у меня не выводит количество строк. Либо я что то не так делаю перечитал похожие темы но до меня что то не доходит.....

Решение задачи: «Не срабатывает EOF в программе»

textual
Листинг программы
while((k = getchar()) != EOF)

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

  1. В начале программы открывается файл для чтения посимвольно с помощью функции getchar().
  2. В тело цикла while попадает значение, полученное из функции getchar(), которое приводится к типу int с помощью оператора (int) и сохраняется в переменной k.
  3. В условии цикла while проверяется, не равно ли значение переменной k символу конца файла EOF.
  4. Если условие в цикле while не выполняется, то программа продолжает работу, считывая очередной символ из файла и присваивая его значение переменной k.
  5. Если условие в цикле while выполняется, то программа завершает работу, выводя на экран сообщение об ошибке или выполняя другие действия, связанные с окончанием файла.

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


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

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

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