[問題]關於i++或++i的題目

看板C_and_CPP作者 (Harry)時間15年前 (2010/06/13 23:55), 編輯推噓5(5012)
留言17則, 10人參與, 最新討論串1/1
int i,j; i=2; j=i++ + ++i; ---->result: i=4;j=6 j=++i + ++i ---->result: j=8,i=4; 請問這要怎判斷??? 我知道i++和++i的差別 可是想了很久還是不通... 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.47.67.252

06/13 23:57, , 1F
置底文的十二戒第九 忘了這種問題吧 XDDD
06/13 23:57, 1F

06/14 00:05, , 2F
出的人沒什麼程度, 不值得去想
06/14 00:05, 2F

06/14 00:05, , 3F
剛看到這篇 #1BtbrBOv
06/14 00:05, 3F

06/14 00:07, , 4F
順便問一下,for(i=0;i<10;i++);跟 for(i=0;i<10;++i);
06/14 00:07, 4F

06/14 00:07, , 5F
聽說++i會比較快?
06/14 00:07, 5F

06/14 00:12, , 6F
對現在的compiler來說一樣吧
06/14 00:12, 6F

06/14 00:13, , 7F
postfix ++ 需要多一個空間記住加之前的值並回傳, 所
06/14 00:13, 7F

06/14 00:13, , 8F
以比較慢「一咪咪」
06/14 00:13, 8F

06/14 00:19, , 9F
上面的例子並沒有變數去接回傳值,compiler最佳化後應
06/14 00:19, 9F

06/14 00:19, , 10F
該沒差吧
06/14 00:19, 10F

06/14 00:41, , 11F
公司面試考題?
06/14 00:41, 11F

06/14 01:34, , 12F
builtin type沒有差, and這個compiler怎麼做有差
06/14 01:34, 12F

06/14 01:35, , 13F
如果要知道正確答案請參考編譯器手冊 還要要注意版本
06/14 01:35, 13F

06/14 01:35, , 14F
遇到這種題目 如果是面試還可以討論如果是選擇不差這5分
06/14 01:35, 14F

06/14 03:15, , 15F
記住值回傳這說法是在實做端, 編譯的話可以透過重排達成
06/14 03:15, 15F

06/16 00:15, , 16F
= =期中考考題...
06/16 00:15, 16F

06/17 00:32, , 17F
期中考題XD
06/17 00:32, 17F
文章代碼(AID): #1C5F-1xq (C_and_CPP)