Подсчёт строк работает некорректно - C (СИ)

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

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

При следующих входных данных, получаются неверные результаты: 1) 123456 1123123123 345345^z на выходе получаю 2 2) 123456 1234564564 5656 4564564^z на выходе получаю 3
int count  = 0;
 
while((ch = getchar()) != EOF)
if(ch == '\n') count++
printf("%i\n", count);
Почему так, предполагаю, что почему-то символа конца потока не срабатывает. Он почему-то интерпретируется как другой символ ('<-').

Решение задачи: «Подсчёт строк работает некорректно»

textual
Листинг программы
#include <stdio.h>
 
 
int main(){
    int count  = 0;
    int ch;
 
    while((ch = getchar()) != EOF)
        if(ch == '\n') count++;
 
    printf("%i\n", count);
    return 0;
}

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

В этом коде:

  1. Объявляются две переменные: count и ch.
  2. Переменная count инициализируется значением 0.
  3. В цикле while считывается каждый символ из стандартного ввода до конца файла.
  4. Если считанный символ является символом новой строки ('\n'), то переменная count увеличивается на 1.
  5. После окончания чтения файла, выводится значение переменной count, которое является количеством строк в файле.
  6. Программа возвращает 0, что означает успешный конец работы.

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


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

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

14   голосов , оценка 4.071 из 5
Похожие ответы