寫出判斷ABCD四個表達式的是否正確, 若正確, 寫出經過表達式中 a的值

寫出判斷ABCD四個表達式的是否正確, 若正確, 寫出經過表達式中 a的值
int a = 4;
(A)a += (a++); (B) a += (++a) ;(C) (a++) += a;(D) (++a) += (a++);
注:a++表示先運算後+1;++a表示先+1後運算
(A)分解成 a = a + (a++)==> a = (a+1) + a = 9
(B)分解成 a = a + (++a)==> a = (a+1) + (a+1) =10
(C)左值操作錯誤,a先運算,回來後發現a+1(換地方了)
(D)分解成 (a=4+1) = a + (a++)==> a = (a+1) + a =11
順序 ++a>a>a++
(A) a=a+a, a++
(B) ++a ,a=a+a 
(C)a=a+a, a++,錯誤 位置發生了變化 因爲是用a++做的左值,當運行完a=a+a的時候裏面的a不是a++的位置 
(D)是++a , a=a+a ,a++ 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章