Не происходит выход из цикла - C (СИ)

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

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

Доброе время суток, давече сел за изучение С. Возникла проблема, есть следующий код:
#include <stdio.h>
 
main()
{
    int c;
    while ((c = getchar()) != 0)
        {
            putchar(c);
        }
}
Как я понял изпрочитанного в книге - символы должны вводиться и выводиться до тех пор, пока не будет введен 0, после этого должен произойти выход из цикла. Собственно выхода не происходит - я негодую. Прошу помощи, уважаемые.

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

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

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

В этом коде выполняется следующее:

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

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


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

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

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