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);}