作者avhacker (我想把整片天空打開)
站內Programming
標題Re: [問題] 如果哪天我也遇到這個爛題目,該怎麼答?
時間Thu Feb 22 02:33:29 2007
※ 引述《Contactman.bbs@bbs.badcow.com.tw (小白退散!)》之銘言:
: 我不認為這會因為 complier 不同而有不同的計算結果.
: 第一時間看到這題目, 我心算的結果也是 27.
: x++ 和 ++x 這種差異性應該已經是出到爛的題目, 有點基礎的人都應該具有普遍的認知.
問題不在 x++ 和 ++x, 問題在 "順序"!
前篇已經有人貼過了,我應該用不著再貼一次 C++ SPEC 第五章的 Expressions
那節了(其實我在 C_AND_C++板之前就貼過了)
再講清楚點,假設 x 初值是 12,那麼你寫
cout << x++ 那麼輸出是 12,而 x 的值變為 13,對吧?
現在重來一次,x 初值是 12,然後你寫
x = x++; cout << x;
那麼該會輸出多少? 問題就出在 x = x++ 這行,哪部分會先被執行,在
C++ SPEC 是沒有定義的.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.19.235
推 meltice:13 218.211.11.197 02/23 10:57
→ meltice:因為當x=x++;這個敘述結束後x會被加1 218.211.11.197 02/23 10:57