發信人Contactman.bbs@bbs.badcow.com.tw (小白退散!),
看板Programming
標 題Re: [問題] 如果哪天我也遇到這個爛題目,該怎麼答?
發信站不良牛牧場 (Wed Feb 21 22:46:03 2007)
轉信站ptt!ctu-reader!ctu-gate!news.nctu!news.ntu!news.au!zoonews.ee.ntu!SimF
我不認為這會因為 complier 不同而有不同的計算結果.
第一時間看到這題目, 我心算的結果也是 27.
x++ 和 ++x 這種差異性應該已經是出到爛的題目, 有點基礎的人都應該具有普遍的認知.
※ 引述《StubbornLin.bbs@ptt.cc (Victor)》之銘言:
: 剛才有個人問我一個問題
: int x=12; x=x++ + ++x; cout<<x;
: 答案是多少,我跟他說這個行為未定義
: 結果會隨著compiler的實作而改變
: 他說這是 研究所的考題......
: 研究所...............囧rz|||
: 我想說...從左邊開始是多少 右邊開始應該是多少
: 應該是25 和 26 吧?
: 不過答案卻是27... 後來我寫了一個程式下去跑
: 才知道 因為右邊那個++x做完後並不會傳回複本
: 而是傳回自己本身 所以在遇到左邊x++時會被再加一次
: 這時就變成 13 14 了
: http://myweb.fcu.edu.tw/~d9529769/add.cpp
: 這是程式
: 嗯= =
: 那不是重點....重點是,我很擔心將來某一天如果我遇到這種腦殘題目
: 該怎麼做答? 那個人說這是問答題
: 我該寫 "行為未定義! 回去重修C/C++吧! 笨蛋!"
: 還是... "VC6跑出來的結果是27"
: 還是...列舉所有可能的compiler做法 把數值可能的情況全部列舉出來呢?
: 寫27麻...其它compiler又不一定是27
: 不寫27...寫一堆廢話的話 說不定還被倒扣分數 XDDDD....
: 老實說我有點懷疑一些人出來教書...到底是在幹麻的阿= =||
: 還是出來誤人子弟的...
: 出這種考題的人= =.. 也許也會寫出這樣的程式
: 教授? 助教?
: 是不是該判他們去黑龍江勞改呢...
: 還是判他們替烤麵包機寫電晶片呢?
--
╭──── Origin:
<不良牛牧場> bbs.badcow.com.tw (210.200.247.200)─────╮
│ ↘ Welcome to SimFarm BBS -- From : [59.112.101.83] │
╰◣◣◢ ◢◢《不良牛免費撥接→電話:40586000→帳號:zoo→密碼:zoo》 ◣◣◢ ─╯
推 HZYSoft:這樣的運算結果根本未定義,這也是講到爛 163.29.223.38 02/22 03:32
→ HZYSoft:有點基礎的人好像也該知道這件事情... 163.29.223.38 02/22 03:33