精華區beta Programming 關於我們 聯絡資訊
※ 引述《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