KinG_95
Компетентный
Оператор инкримента он же ++ ставится перед переменной или после нее, увеличивает значение переменной на 1. Оператор декримента -- ставится тоже перед переменной или после нее. Вопрос заключается в том, что где же ставить этот оператор, после или перед переменной? Ответ на этот вопрос я и хочу вам рассказать
Все просто до безобразия!
Префиксный и постфиксный тип инкримента (декримента)
Что же это такое?! Префиксный и постфиксный тип инкримента (декримента)?!
Префиксный тип инкримента записывается так (++varable) и постфиксный тип инкримента записывается так (varable++). Так с названиями вроде разобрались, теперь я объясню в чем же разница. Рассмотрим это на примере:
Выведет:
Почему же так?! Спросите вы, все очень просто.
Префиксный тип инкримента сначала увеличивает переменную на 1, а затем передает его по ссылке (т.е. присваивает переменной а). Постфиксный тип же сначала передает по ссылке значение переменной (т.е. присваивает значение переменной с), а только потом уже увеличивает значение переменной на 1 (переменные b и d равны 1 значит они увеличились).
Также они работают и в операторах (if, switch), циклах (while, for, do while) т.е. смысл один и тот же
Все! Если есть вопросы пишите в комментах
Автор: Romanius
Все просто до безобразия!
Префиксный и постфиксный тип инкримента (декримента)
Что же это такое?! Префиксный и постфиксный тип инкримента (декримента)?!
Префиксный тип инкримента записывается так (++varable) и постфиксный тип инкримента записывается так (varable++). Так с названиями вроде разобрались, теперь я объясню в чем же разница. Рассмотрим это на примере:
PHP:
1.new a, b, c, d;
2.
3.a = ++b;
4.c = d++;
5.
6.printf("A = %d, C = %d", a, c);
7.printf("B = %d, D = %d", b, d);
PHP:
1....
2.A = 1, C = 0
3.B = 1, D = 1
4....
Префиксный тип инкримента сначала увеличивает переменную на 1, а затем передает его по ссылке (т.е. присваивает переменной а). Постфиксный тип же сначала передает по ссылке значение переменной (т.е. присваивает значение переменной с), а только потом уже увеличивает значение переменной на 1 (переменные b и d равны 1 значит они увеличились).
Также они работают и в операторах (if, switch), циклах (while, for, do while) т.е. смысл один и тот же
Все! Если есть вопросы пишите в комментах
Автор: Romanius
