Играл с инкрементами и вообще не понимаю одного момента: int a=3; int b= a++ +(++a * --a); // 3 + ( 5 * 4 ) Ответ b=23. Вопрос именно по первому а++ - почему он все равно считается программой за 3? Понимаю, что сначала присваивается значение , а потом увеличиается на единицу, НО, почему в итоге все равно считается как 3? ИЛИ прога думает "хорошо, сначала использую 3 в выражении, но увеличу это значение на 1 для будущих вычислений" Также интересный случай когда b= a++ + (a-- * a++) // Получается, что изменение переменной "отстает" на одно вычисление (3 + ( (3+1) * (4-1) ) - такое объяснение как раз и дает ответ на мой же вопрос выше. Хочется услышать еще мнения по поводу -фиксных -крементов