x++ + x++

考試的一道題目,按理說結果應該是依賴於編譯器,但是題目也沒說。假定是在gcc的環境下吧。總的解題步驟是:

1.先算所有的前增量操作,即先算所有的++x。

2.再取含有x的表達式的值。

3.執行後增量操作,即算x++。

如:

int x=9,y;

y = x++ + x++;

裏面有兩個含有x的表達式(x++),取值是9,所以y的值就是18,x最後是11.

若 y = ++x + ++x;

則先算兩次++x,x就是11,再算兩個x的表達式的值,所以y就是11 + 11 = 22.

若 y = ++x + ++x + x++;

則先算兩次++x,x是11,再算三個x的表達式的值,即 11+11+11=33,最後再算x++,最後x就是12.

對於--x和x--也是一樣的。

如 y = --x + --x/2;

結果就是y=10,x=7.

發佈了42 篇原創文章 · 獲贊 0 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章