作者adrianshum (Alien)
看板C_and_CPP
標題Re: [問題] 關於i++和 ++i有什麼不同
時間Thu Apr 30 14:38:02 2009
※ 引述《tocute (小飄)》之銘言:
: ※ 引述《lihohsin (新)》之銘言:
: : 最近在自學C++
: : 可是看不懂
: : i++和++i兩種方式有什麼不同
: : i++是指i=i+1
: : 那將++寫在前方
: : 跟寫在後方有何不同
: : 煩請大家解答
: int i=0;
: int j=1;
: printf("%d %d",i++, ++j);
: printf("%d %d",i , j);
: -----------------
: 這裡你跑出來 你就知道了
: i++ 是指先作事(先傳給函式 先印出來) 再作加法
: ++i 則是反過來 先作加法 再作事(先傳給函式 先印出來)
最後兩句不太對.
正確一點來說, i++ 是 做完遞增後, 回傳 遞增 *前* 的值
++i 則是做完遞增後, 回傳遞增 *後* 的值
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.155.236.82
推 VictorTom:推a大的解釋:) 所以這中間多一筆temp register的消耗@@ 04/30 15:08
推 wemee:那麼這段文言文 有沒有白話一點的講法 讓新手可以了解 04/30 18:06
→ sunneo:文言文? ... 04/30 18:47
推 VictorTom:不明白哪裡文言文了, 這樣解釋如果還不夠白話的話.... 04/30 21:22
→ VictorTom:或許真的掛debug跟一下disasm會更有感覺@_@" 04/30 21:22