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