對(duì)于
n=3;
y=n++ + n++;
最后n的結(jié)果肯定是5,但是y的結(jié)果會(huì)因?yàn)榫幾g器優(yōu)化的不同而產(chǎn)生不同的結(jié)果摧玫,因?yàn)榫幾g器對(duì)先執(zhí)行前面的n++與后面的n++耳奕,還是同時(shí)執(zhí)行,有自己的方案,可能是y=3+3屋群,也可能是y=3+4
對(duì)于
y=(4 + x++) + (6 + x++);
c語言對(duì)于x的遞增闸婴,只能保證在序列點(diǎn)';'之前對(duì)x進(jìn)行遞增,c并未指明是在對(duì)子表達(dá)式(4 + x++) 求值之后遞增x芍躏,還是對(duì)所有表達(dá)式求值之后再遞增x邪乍,因此要盡量避免編寫類似的語句。