Насчет инкремента ++ - C (СИ)
Формулировка задачи:
Прикладываю иллюстрации отладчика, где замечена странность
в первом варианте все происходит так как хочу, код отрабатывает все позиции массива записывая все че нужно куда нужно:
во втором варианте остаются какие то нули непонятные, откуда оне берутся? ведь мы сперва пользуемся значением и и только потом увеличиваем его на единицу, и код эквивалентен первому?
while ((c=getchar()) != EOF){ s[i]=c; i++; }
while ((c=getchar()) != EOF){ s[++i]=c; }
Решение задачи: «Насчет инкремента ++»
textual
Листинг программы
while ((c=getchar()) != EOF){ s[i]=c; i++; }
Объяснение кода листинга программы
В данном коде выполняется следующие действия:
- В начале кода инициализируется переменная
c
типомchar
, которая будет использоваться для получения ввода из стандартного ввода (stdin). Значение переменнойc
будет равно первому символу, который будет прочитан. - Затем происходит инициализация массива
s
типаchar
. Размер массива определяется переменнойi
равной 0. То есть, массивs
будет содержать 1 символ. - В цикле
while
происходит считывание символа из стандартного ввода с помощью функцииgetchar()
. Считанный символ присваивается переменнойc
. - Затем происходит сравнение переменной
c
с символом конца файла (EOF). Еслиc
равно EOF, то цикл завершается. - Внутри цикла происходит присваивание считанного символа массиву
s
с помощью индексацииs[i]
. - После присваивания значения переменной
i
увеличивается на 1, чтобы указать следующий элемент массива. - После выхода из цикла
while
происходит завершение работы программы. Список действий: - Инициализация переменной
c
типомchar
. - Инициализация массива
s
типаchar
. - Вход в цикл
while
. - Считывание символа и присвоение переменной
c
. - Сравнение переменной
c
с EOF. - Присваивание символа массиву
s
. - Увеличение индекса
i
. - Повторение шагов с 4 по 7 до тех пор, пока
c
не станет равным EOF. - Выход из цикла
while
. - Завершение работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д