Возможный дубликат:
Может ли кто-нибудь объяснить эти поведения undefined (i = я ++ + ++ i, я = я ++ и т.д.)
увеличивать значения в printf
У меня есть два двойных массива x
и y
и integer i
. Мой вопрос заключается в том, является ли утверждение:
double res = x[i] * y[i++];
всегда равен утверждению:
double res = x[i] * y[i];
i++;
Возможно ли, что некоторые компиляторы изменят x[i] * y[i++]
на y[i++] * x[i]
, что, очевидно, приводит к другому результату?