推 QoiiwWe: 不知道編譯器遇到這樣的寫法是怎麼編譯 07/12 19:57
→ k010r10a27: 哀 再寫的時候就想說怎麼可能這麼簡單 但還是錯了 07/12 19:58
→ k010r10a27: 我跑出來的結果也跟你一樣 07/12 20:01
推 lexus7310: 我完全不知道會由後往前耶 長知職了(可惜是考完後) 07/12 20:05
→ lexus7310: 是compiler的關係嗎? 07/12 20:05
→ fatty3321: 直覺會是前往後吧… 07/12 20:14
→ fatty3321: 反倒覺得老師不會真的去用編譯器跑,太多版本了 07/12 20:16
推 s2327259: 應該是考系統傳入副程式參數處理的順序 細到只會在考卷 07/12 20:40
→ s2327259: 上看到的用法 07/12 20:40
→ s2327259: 在公司用這種寫法還不被後面的人抓出來摔... 07/12 20:40
→ ssac: 嗯 真的是為了考試為難學生吧~其實當天我在心裡念了很久 07/12 20:48
推 carterdunk: 沒意義的題目…略過吧同學 07/12 20:49
推 QoiiwWe: 我朋友說這張是計概等級的題目...平均要創新高 07/12 20:52
推 bear6709: 如果有人寫出compiler的答案 我輸也能輸得心服口服 07/12 20:54
→ ssac: QoiiwWe 那可以請你朋友幫忙解說一下此題嗎?真的很想知道 07/12 20:58
→ ssac: 拜託 07/12 20:58
→ ogre0403: printf parameter evaluation order沒定義 07/12 21:04
→ ogre0403: 果然是台灣會出現的考試題目… 07/12 21:04
推 s2327259: 看討論也是說沒定義 順序留給各個編譯器優化決定 07/12 21:15
→ s2327259: 所以左推算 右推算 跳著推算都可以... 07/12 21:16
→ s2327259: 考Side effect真的很有種 實作都會避免這種寫法 07/12 21:19
推 ogre0403: 同感,研究所考試出就算了,國家考試也這麼出… 07/12 21:22
推 a1012253: Orz…因為想說b*=a代表b=b*a,是一個算式,所以我寫結果 07/12 21:23
→ a1012253: 非0即為true,輸出寫1…哭 07/12 21:23
→ ogre0403: 最後答案應該也是會是10,2,5,4吧,我覺得 07/12 21:23
→ k010r10a27: 今年程式真的2020分拿 要噴也一次2020的噴 07/12 21:27
→ fatty3321: 我本來感覺這題的本意是要給考生拉分的,應該沒有這麼 07/12 21:30
→ fatty3321: 兇殘吧…(還從後面來…) 07/12 21:30
推 Juniorlin01: 我剛剛自己測試了一下答案是 22 10 5 4 考試的時候就 07/12 22:03
→ Juniorlin01: 覺得毛毛的 想說怎麼可能是10 2 5 4這麼簡單 果然有 07/12 22:04
→ Juniorlin01: 陷阱 a101大那個想法我也有想過 在if判斷裡面指定算 07/12 22:04
→ Juniorlin01: 式非0的話就為true 想寫1 但最後反正22 10那種推法 07/12 22:04
→ Juniorlin01: 我完全沒考慮到 所以也沒有惋惜的遺憾 肯定被扣10分 07/12 22:04
→ Juniorlin01: 心裡面沒疙瘩了 07/12 22:04
推 angerD: 其實最早的K&R C有定義這種operation 07/12 23:29
推 kisha024: 為什麼上一篇發問被刪掉了? 07/13 00:32
推 garychangb: 補習班對 大一這種題目早就被老師出到爛掉了 07/13 01:25
→ garychangb: c的程式執行會從後面開始 就跟網路處理封包會從後面CR 07/13 01:26
→ garychangb: C開始檢查起一樣 要特別注意的點 07/13 01:26
→ garychangb: 不是compiler的特性 是c語言處理的方式是這樣 07/13 01:27
推 s2327259: 考完回再研究了一下 是跟calling conventions有關 07/13 18:48
→ s2327259: C預設使用cdecl 裡面定義參數有右至左傳入 07/13 18:49
→ s2327259: 所以不是C語言就這樣 要看使用哪種calling conventions 07/13 18:49
→ s2327259: 但前面都說了cdecl就是C的使用標準 其他都應該為特例 07/13 18:53
→ s2327259: 所以答案還是以右到左為主吧.. 07/13 18:53
→ Snack: 我覺得 答案搞不好是 10 2 5 5... 07/13 21:30
推 max60716: 這種題目在普考很常見,有做普考考古題的,應該就知道 07/14 16:22
→ max60716: 這是從左到右喔,而且是考選不公佈的解答 所以解答是: 07/14 16:23
→ max60716: 10 2 5 4 不用想太多囉 但實務上 不會有人這樣寫程式 07/14 16:24
→ max60716: 本身寫程式不會這樣用 還是有高手 常這樣用... 佩服 07/14 16:25
→ max60716: 所以重點還是在考古題囉 先推我有上榜吧@@ 07/14 16:26