[考題] 計算機概論 程式輸出問題

看板Examination作者 (宇)時間11年前 (2014/07/16 16:11), 編輯推噓2(204)
留言6則, 4人參與, 最新討論串1/4 (看更多)
考慮以下 C 程式 int fun (int *x) { *x += 4; return 4 * (*x) –2; } void main() { int x = 20, y = 30, w,z; w = fun(&x) + (x/2); z = fun(&y) + (y/2); printf(“%d,%d”, w,z); } 程式執行後,w, z 的值為何? a.48與151 b.106與151 c.104與133 d.48與133 答案為b 想請問各位高手他是怎麼運算的啊? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.231.93.28 ※ 文章網址: http://www.ptt.cc/bbs/Examination/M.1405498286.A.67A.html

07/16 16:22, , 1F
w=4*24-2+24/2=106
07/16 16:22, 1F

07/16 16:22, , 2F
z=4*34-2+34/2=151
07/16 16:22, 2F

07/16 16:24, , 3F
這題出題老師其實還蠻溫柔的XD如果是我一定把a或c挑一個
07/16 16:24, 3F

07/16 16:25, , 4F
改106XD
07/16 16:25, 4F

07/16 16:26, , 5F
x=20,呼叫後x變24。w=94+24/2
07/16 16:26, 5F

07/16 16:32, , 6F
不懂原理的話GOOGLE CALL BY VALUE,CALL BY ADRESS
07/16 16:32, 6F
文章代碼(AID): #1JnZEkPw (Examination)
文章代碼(AID): #1JnZEkPw (Examination)