作者qaz5620 (Ellie是我的最愛~)
看板Examination
標題Re: [考題] 關務四等計概
時間Mon Apr 21 13:02:23 2014
※ 引述《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
→ 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