看板 Programming 關於我們 聯絡資訊
※ 引述《asleepme (冬天了)》之銘言: : for( i=0; i<=100; i++) : s=s+i; for ( i=100; --i ; ) s += i ; 首先是 i++ 後置要改前置 因為 C/C++ 裡面寫後置是會複製一個暫存物件的 阿這邊複製一下是需要成本的 當然這邊 compiler 有可能會幫你吸收掉 不過知道意思就好 然後 i<=100 改 i 這邊就是少作一個減法 當然這個還是看 cpu 不過知道意思就好 然後是 s = s+i 改成 s += i 就是省掉好幾個動作嘛 不過 compiler 當然還是有可能幫你吸收掉 不過知道意思就好 其實只有第一個原因比較隱晦吧 後面兩個都蠻明顯的,一般人也都會想到 不過第三個根本就是明顯到根本沒差了 因為 compiler 幾乎都會幫你作掉 總之各種改法都只對不夠好的 compiler 有用 compiler 夠好的話,這些差異其實都會被吸收掉.. 我其實不是很懂這個面試官的重點是在哪邊 ._.a -- To iterate is human, to recurse is divine. 遞迴只應天上有, 凡人該當用迴圈.   L. Peter Deutsch -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.78.40
asleepme:有可能是他們要自己寫compiler吧 220.137.66.239 01/02 13:40
PcGrek:這樣寫會變成99加到0…@@ 140.124.42.60 01/02 21:13
PcGrek:照我同學去面試的說法,應該是考第二點。 140.124.42.60 01/02 21:16
yoco315:阿 對喔 哈哈哈 對不起 QQ 140.114.78.40 01/02 22:08
piimaila:說不定是要找在DOS下開發測試工具的人 61.231.242.45 01/03 18:15
march20:其實搞不好是想考 "嘿, 知道某牌的 71.136.239.225 01/04 17:53
march20:"compiler 有這種 bug ". 71.136.239.225 01/04 17:53
march20:我論原 po 應徵 M$ 的可能性 XD 71.136.239.225 01/04 17:54