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