看板 Examination 關於我們 聯絡資訊
※ 引述《aPieceOfCake (一塊小蛋糕)》之銘言: : ※ 引述《qaz5620 (Ellie是我的最愛~)》之銘言: : : 第27題 執行下列程式後輸出為何 : : int a=2, b=5; : : a*=a--*--b; : : printf("%d\n",a); : : 我的想法是 a*=2*4=8後 a為1 : : 再來 a=a*8=>a=1*8=8 可是答案卻是15 想請問我哪邊思考錯了 感謝 : a = 2 * 2 *4 =16 : 最後印出時再減1 : 所以15 首先謝謝你 但是我看這題考題 跟100年的關務考題 int a=2,b=5; a+=a++*--b 以下是100年補習班的解法 以下是今年我的解法 a+=a++*--b | a*=a--*--b a+=2*4 | a*=2*4 a+=8 | a*=8 a=a+8 | a=a*8 a=3+8=11 | a=1*8=8 依照補習班解法 怎麼跟標準答案不同 可是100年補習班答案卻跟正確答案相同呢 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.39.131.234 ※ 文章網址: http://www.ptt.cc/bbs/Examination/M.1398056545.A.CBB.html
gary22204:順序都是錯的喔,左邊應該是a=2+8;下一行之後才+1所以11 04/21 13:05
qaz5620:左邊是我照著程式語言講義解答寫的說 囧 04/21 13:10
gary22204:你拿哪一本...++或是--在後面的話是碰到分號才執行喔, 04/21 13:16
gary22204:至少C之類的是這樣...吧? 04/21 13:17
Sunofgod:a=b++; 直接想成a=b; b++比較清楚一點 04/21 13:20
Sunofgod:a=++b; 想成b++; a=b 04/21 13:20
Sunofgod:口訣就放前面的先做 04/21 13:20
qaz5620:高X程式語言第一回 http://ppt.cc/oj6w 04/21 13:21
gary22204:樓上可惜了,應該聽老師上課講為準,分號是老師跟我說的 04/21 13:28
gary22204:老師回去想了之後還有再修正這部份一次,有發補充的 04/21 13:29
qaz5620:是喔 我是函授的 可能還沒拿到更新的 囧 04/21 13:32
buzz0916:Gannnnnn…我跟你犯一樣的錯誤,我也是上高X的…剛剛對 04/21 14:11
buzz0916:答案看到這題傻眼了,該怪自己觀念不清嗎==… 04/21 14:11
silentlich:這是未定義行為 04/21 15:31