作者swindler (小潘)
看板C_and_CPP
標題Re: [問題] 面試遇到的問題‥
時間Fri Feb 6 16:57:42 2009
屬於未定義之行為 請看下列連結的文章討論
該算式在不同編譯器下會有不同結果
http://blog.ez2learn.com/2008/09/27/evil-undefined-behavior/
可能遇到不明其理又愛賣弄的人吧
※ 引述《roinla (GARFIELD~)》之銘言:
: 在面試軟體相關產業時,主管提了一個問題(由於本身c語言太弱,答不出來。)
: int a=1;
: a++*a++=?
: ++a*a++=?
: ++a*++a=?
: 這三個等式是連續的,第一式與第二式主管跟我說答案是2、20(第三式我忘了問>"<)
: 他跟我說回去用程式跑一次就知道,但回去我用dev-c++跑時,答案卻和主管說得不同
: 是分別是1、16、49,不曉得真正的答案是什麼,
: 想請教一下版上的高手,感謝大家。
: (ex:第一式數字的結果的程式是用printf('a++*a++=%d',a++*a++)得來的)
: 初次發問,如有違犯板規的地方敬請原諒,謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.128.189.208
※ 編輯: swindler 來自: 220.128.189.208 (02/06 17:00)
1F:推 zlw:面試好像很愛問這問題,但問題是正常寫成程式通常也不會這樣寫 02/06 17:12
2F:推 roinla:非常感謝這位大大的解說。 02/06 17:32
3F:推 comaniac:面試只是考觀念吧~"~ 02/06 17:57
4F:→ tsaiminghan:我面試也碰到類似的問題, 主管也說是未定義 02/06 22:19
5F:推 dontblame:推最後一句。遇到這樣的主考官 可反問他是在哪種compile 02/06 22:47
6F:推 softwind:不知道原po有沒有想過 主管可能是在考溝通能力... 02/06 23:54
7F:→ firose:會不會主管觀念不清楚, 要您教他? 02/07 00:34
8F:→ MOONRAKER:其實看主管是哪個年段畢業的,15年前大學也常考這種東西 02/07 00:57
9F:→ MOONRAKER:(不過現在還考就…) 02/07 00:57
10F:推 cackle:如果我是主管,可能也會問這個問題,並期待你回答"未定義" 02/07 01:52
11F:推 lg31cm:實務上根本很少碰到需要這樣寫,這考不出程度 02/07 14:02
12F:→ lg31cm:還不如考sort, binary search 02/07 14:02
13F:→ lg31cm:acm上挑幾題簡單的還比較有意義些 02/07 14:03
14F:推 VictorTom:讓小弟想到以前大學也很愛考i++++, ++++i, ++i++之類的. 02/08 18:22
15F:推 deepking:現在還是一樣愛考 02/08 19:05
16F:推 Splash5:在學校釐清觀念教這些ok 但到了業界還問這個就很無力 02/15 02:04