Почему C/C++ не оценивает выражение в порядке слева направо в этих случаях: Первоначально x=1
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++?