main(){int x=5, y;y=2+(x+=x++,x+8,++x);printf(\"\\n%d\",y);}
熱心網友
++優先于+=所以括號內第一個表達式的值應該是12(x++為6,x=12)第二個表達式x+8,并沒有改變x的值第三個表達式++x值為12這里注意++運算符的位置++X的值為X而X++的值為X+1逗號表達式的值為最后一個表達式的值,即題中的++x的值12所以最后y的值應該是14
熱心網友
不是36,y的值等于括號內3個逗號表達式里最后一個的結果加上2,也就是y=2+(++x)前面兩個式子只確定x的值,就是說x++以后就變為6了,再帶入y=2+(++x)中,y就等于9,而x+8的表達式對x和y的結果沒有意義.
熱心網友
y=2+(x+=x++,x+8,++x);printf(\\\"\\\\n%d\\\",y);}