Почему не C/C++ вычисляет выражение в порядке слева направо, в следующих случаях: Первоначально х = 1оценка Экспрессия в C++ с участием унарные операторы
Evaluating x + ++x gives 4.
Если нормальная оценка проводится (старшинство + + выше, чем +), то результат должен быть 1 + 2 = 3
Аналогично:
x + ++x + x gives 6
x + x + ++x gives 4
Почему результаты отличаются?
Другие случаи:
x + x++ +x gives 5
Что правило следуют C/C++ вместо?
см http://stackoverflow.com/questions/4176328/undefined-behavior-and-sequence-points – twin