Другие языки программирования и технологии
И все же не пойму, в чем разница между i++ и ++i
В программировании?
в разном положении знаков ++ относительно буквы i
Дмитрий Себин
вернее, противоположном
Зависит от контекста. Например, между for(;;i++) и for(;;++i) разницы нет никакой. А вот если там у тебя i += i++ + ++i, тогда разница очень даже может быть, причем еще и зависеть от компилятора.
Анатолий Удовиченко
Интересно, откуда там возмётся разница? Значение выражения i++ + ++i не зависит от порядка вычисления, значение i на выходе тоже не зависит от порядка.
если там у тебя i += i++ + ++i, тогда разница очень даже может быть
Интересно, откуда там возмётся разница? Значение выражения i++ + ++i не зависит от порядка вычисления, значение i на выходе тоже не зависит от порядка.
Оба оператора служат одной главной цели - чтобы у программиста пальцы не отвалились написать два-три дополнительных символа.
Сравни два куска кода и то, что они выводят, сделай выводы
int i = 1;
cout
Ну я не программист, в первом использует i, а затем прибавляет 1, а в 2 сразу увеличенную на 1
где-то попадалась инфа, что ++И отрабатывает быстрее так как нет необходимости сохранять и возвращать старое значение для вычислений
но инфа не точная
но инфа не точная
i++ действие произойдет после того как предыдущее завершится а ++i будет наоборот перед этим и другая команда уже после
В языке C++ разница между i++ и ++i заключается в том, как они инкрементируют (увеличивают на 1) значение переменной i.
i++ сначала использует текущее значение переменной i, а затем увеличивает его на 1. Например:
С другой стороны, ++i сначала увеличивает значение переменной i на 1, а затем использует его. Например:
В обоих случаях значение переменной i увеличивается на 1, но результаты в переменных j отличаются. В первом случае j равно 5, а во втором случае j равно 6.
i++ сначала использует текущее значение переменной i, а затем увеличивает его на 1. Например:
int i = 5;
int j = i++; // j = 5, i = 6
С другой стороны, ++i сначала увеличивает значение переменной i на 1, а затем использует его. Например:
int i = 5;
int j = ++i; // j = 6, i = 6
В обоих случаях значение переменной i увеличивается на 1, но результаты в переменных j отличаются. В первом случае j равно 5, а во втором случае j равно 6.
Похожие вопросы
- объясните как именно работает цикл (int i = 0; i < N; i++) в этом коде, почему нельзя написать i+1, вместо i++
- Помогите разобраться с кодом. Ошибка в строчке for (int i = 0, i > 100, i++) {
- Про цикл. int i = 5; i = ++i + ++i; Почему получается 14 а не 13?
- Вопрос по Си. if ((i++)==10) и i++ if (i==10) будет ли первый пример работать быстрее чем второй?
- Excel В одной ячейке значение к примеру 20. Необходимо выполнить (1+2)^i+1 (i+1 должен продолжаться до 20 включ.)
- Чем различаются ++i и i++, нужны точные различия
- Не пойму: JavaScript и Java - это 2 разных языка? В чем разница?
- X+i*a+j и X[i][j]. В чем разница как использовать первый вариант записи.
- программа на ассемблере, не пойму в чем ошибка и как исправить
- Си. scanf(). не пойму почему не считываются значения. Подскажите, пожалуйста.