作者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