作者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
1F:推 VictorTom:推a大的解释:) 所以这中间多一笔temp register的消耗@@ 04/30 15:08
2F:推 wemee:那麽这段文言文 有没有白话一点的讲法 让新手可以了解 04/30 18:06
3F:→ sunneo:文言文? ... 04/30 18:47
4F:推 VictorTom:不明白哪里文言文了, 这样解释如果还不够白话的话.... 04/30 21:22
5F:→ VictorTom:或许真的挂debug跟一下disasm会更有感觉@_@" 04/30 21:22