Возможный дубликат:
Может ли кто-нибудь объяснить эти поведения 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], что, очевидно, приводит к другому результату?