若有定義:int i,j;則表達式(i=2,j=5,i++,i+j++)的值是( )
題目:
若有定義:int i,j;則表達式(i=2,j=5,i++,i+j++)的值是( )
解答:
先執行(i=1,1+9)>9,()表達式的值,是()內最右邊式子的結果,所以是10,10>9,所以第2步是執行i++||++i.
因爲之前已執行了i=1,所以i++的取值是1,取值後將i變成2,所以i++||++i的左邊是邏輯真值,根據編譯器的優化,右邊的++i不再計算,所以i++||++i的最終結果是真,即1,所以j=1
添加新評論