Почему цикл for не уменьшает значение в префиксной форме? Почему такой цикл for(int i = f; i > 0; --i) не уменьшает значение i до 1 прохода цикла, хотя стоит в префиксной форме
Декрементирование срабатывает только после прохода цикла 1 раз.
P.S. задача была про факториал, решил ее так for(int i = (f-1); i > 0; i--), но мне все равно интересно - предыдущий вариант тоже должен был работать

21 Авг 2019 в 06:13
143 +3
0
Ответы
1

Да, ваш предыдущий вариант с использованием префиксной формы декремента в цикле for должен работать правильно. Префиксная форма декремента (--i) уменьшает значение переменной i на 1 до выполнения текущей итерации цикла. Таким образом, если вы используете (--i) в условии цикла, то значение i должно уменьшаться до 1 еще до первой итерации.

Если вы столкнулись с таким поведением, возможно, есть другая ошибка в вашем коде или в спецификации задачи. Пожалуйста, убедитесь, что в других частях вашего кода нет непредвиденных действий, которые могли бы повлиять на значение переменной i до входа в цикл.

20 Апр в 13:21
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 90 581 автору
Первые отклики появятся уже в течение 10 минут
Прямой эфир