Насчет инкремента ++ - 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++;
}

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

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

  1. В начале кода инициализируется переменная c типом char, которая будет использоваться для получения ввода из стандартного ввода (stdin). Значение переменной c будет равно первому символу, который будет прочитан.
  2. Затем происходит инициализация массива s типа char. Размер массива определяется переменной i равной 0. То есть, массив s будет содержать 1 символ.
  3. В цикле while происходит считывание символа из стандартного ввода с помощью функции getchar(). Считанный символ присваивается переменной c.
  4. Затем происходит сравнение переменной c с символом конца файла (EOF). Если c равно EOF, то цикл завершается.
  5. Внутри цикла происходит присваивание считанного символа массиву s с помощью индексации s[i].
  6. После присваивания значения переменной i увеличивается на 1, чтобы указать следующий элемент массива.
  7. После выхода из цикла while происходит завершение работы программы. Список действий:
  8. Инициализация переменной c типом char.
  9. Инициализация массива s типа char.
  10. Вход в цикл while.
  11. Считывание символа и присвоение переменной c.
  12. Сравнение переменной c с EOF.
  13. Присваивание символа массиву s.
  14. Увеличение индекса i.
  15. Повторение шагов с 4 по 7 до тех пор, пока c не станет равным EOF.
  16. Выход из цикла while.
  17. Завершение работы программы.

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


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

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

6   голосов , оценка 4.5 из 5