Подсчет количества строк во входном потоке - C (СИ)

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

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

#include <stdio.h>
/* подсчет строк входного потока */
main()
{
int с, nl;
nl = 0;
while ((с = getchar()) != EOF)
if (c == '\n')
++nl;
printf ("%d\n", nl);
}
Компилятор C++ Visual 6.0 выдает 6 ошибок, проблема в компиляторе?

Решение задачи: «Подсчет количества строк во входном потоке»

textual
Листинг программы
int main(void)
{
    int c;
    int nl = 0;
    while( (c = getchar()) != EOF ) {
        nl += c == '\n';
    }
    printf("nl = %d\n", nl);
    return 0;
}

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

  1. Объявлены две переменные: c и nl.
  2. Переменная c инициализируется значением, полученным из функции getchar().
  3. Переменная nl инициализируется нулем.
  4. Запускается цикл while, который выполняется до тех пор, пока значение c не станет равным EOF.
  5. Внутри цикла значение переменной nl увеличивается на единицу, если символ, прочитанный в предыдущей итерации, является символом новой строки '\n'.
  6. После окончания цикла выводится значение переменной nl.
  7. Программа возвращает ноль, что означает успешный конец работы.

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


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

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

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