Re: [問題] preincrement和 postincrement的差別
看板C_and_CPP (C/C++)作者VictorTom (鬼翼&娃娃魚)時間16年前 (2009/04/18 18:09)推噓3(3推 0噓 13→)留言16則, 3人參與討論串2/2 (看更多)
※ 引述《nswrthh (xjapan)》之銘言:
: a是一個變數,那麼++a和a++是哪裡不同?他們的定義各是什麼?
小弟我論等一下很快就會有人推文說為什麼不爬文/看書/google....XD
觀念性或者細節我不會說, 我們直接用簡單的例子來看看差在哪裡....
int a, b, c;
a = 0;
b = a++; // 會得到 b 為 0.
a = 0;
c = ++a; // 會得到 c 為 1.
也就是在一個statement裡, 對a的取值是在+=1之前還是+=1之後做:)
所以上面的兩個例子也可以重新拆開理解成下面這樣子的表示法....
a = 0;
b = a;
a += 1;
a = 0;
a += 1;
c = a;
在有些時候, 兩者基本上沒什麼不同(也許compiler最佳化前有差異)
在有些時候, 這兩者弄錯了不是array會爆掉, 就是有錯誤結果@_@"
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.132.174.98
※ 編輯: VictorTom 來自: 220.132.174.98 (04/18 18:13)
→
04/18 23:39, , 1F
04/18 23:39, 1F
→
04/18 23:40, , 2F
04/18 23:40, 2F
→
04/18 23:41, , 3F
04/18 23:41, 3F
→
04/18 23:42, , 4F
04/18 23:42, 4F
→
04/19 00:36, , 5F
04/19 00:36, 5F
→
04/19 00:37, , 6F
04/19 00:37, 6F
推
04/19 00:39, , 7F
04/19 00:39, 7F
→
04/19 00:40, , 8F
04/19 00:40, 8F
→
04/19 00:41, , 9F
04/19 00:41, 9F
→
04/19 00:43, , 10F
04/19 00:43, 10F
→
04/19 00:43, , 11F
04/19 00:43, 11F
→
04/19 00:43, , 12F
04/19 00:43, 12F
推
04/19 00:46, , 13F
04/19 00:46, 13F
→
04/19 00:57, , 14F
04/19 00:57, 14F
推
04/19 01:00, , 15F
04/19 01:00, 15F
→
04/19 01:21, , 16F
04/19 01:21, 16F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章