Re: [問題] 程式解題
看板Prob_Solve (計算數學 Problem Solving)作者timfanda35 (Joseph Arser)時間17年前 (2007/10/23 01:16)推噓4(4推 0噓 2→)留言6則, 4人參與討論串2/2 (看更多)
※ 引述《xxyy (hey)》之銘言:
: 下列程式如果參數傳遞的方法為Call by address 其輸出結果為何
: Sub (x,y,z) main ()
: {x=y+z; {a=1; b=2;c=3
: {y=z-x } call sub(a,b,a+c)
: print (a,b,c);}
: 為何答案(x,y,z)=(6,-2,3)
: 不知有沒有po錯板 @@
: 我是三類組的門外漢
: 請高手解答
首先宣告a = 1 , b = 2 , c = 3
因為 call sub( a , b ,a+c ) => Sub( x , y , z )
所以在 Sub 函式中
x = a = 1
y = b = 2
z = a + c = 4
接下來 x = y + z
意思是將 x 指定為 y + z 的值
所以 x = y + z
= 2 + 4
= 6
此時 x 已經改變值為 6
所以下一行 y 也是同理指定為 z - x 的值
y = z - x
= 4 - 6
= -2
Sub函式結束後
x = 6 , y = -2 , z = 4
如有錯還請其他高手不吝指教
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.121.213.170
→
10/24 01:27, , 1F
10/24 01:27, 1F
→
10/24 01:29, , 2F
10/24 01:29, 2F
推
10/25 11:40, , 3F
10/25 11:40, 3F
推
10/25 14:17, , 4F
10/25 14:17, 4F
推
10/26 03:30, , 5F
10/26 03:30, 5F
推
10/26 20:19, , 6F
10/26 20:19, 6F
討論串 (同標題文章)
Prob_Solve 近期熱門文章
PTT數位生活區 即時熱門文章
-4
30