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