Re: [問題] 指標

看板TransCSI作者 (要和數學裝熟..)時間20年前 (2005/05/16 12:40), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串4/4 (看更多)
PROGRAM main PROCEDURE p( x, y, z ) BEGIN y = y + 3; // 2. y 代入 1 + 3 = 4 z = x + x; // 3. z 代入 5 + 5 = 10 END BEGIN a = 1; b = 4; CALL p( a + b ,a ,a ); // 1. p( 5, 1, 1) PRINT a; END 如果用call by test 的方式來呼叫,則印出的a值為何?? Ans:可以看到 p 傳了兩個 a 過去,可是兩個 a 的值都改成不一樣的 y 和 z 所以不太可能是 call by reference,不然會錯亂,a 不可能同時代表兩個值。 資料型態看起來應該都沒有改變,所以是 call by value 所以印出的 a 值應該是 1 -- 歡迎大家一起加入Intel Philanthropic Peer-to-Peer Program !!! 這項「英特爾慈善『點對點連線』計畫」旨在經由網際網路,把數百萬部個人電腦連結 起來,加速研發治療白血球過多症血癌)的藥物,從而把新藥上市的需要時間縮短約 一半。對本計畫有興趣者,可以到http://www.grid.org/download/gold/download.htm 網站,下載該程式。 一旦一批資料處理完畢,下次電腦連接上網際網路時,不論經由寬頻撥接,電腦便會 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.201.17

218.32.156.78 05/16, , 1F
嗯嗯..了解 感謝大大解惑
218.32.156.78 05/16, 1F
文章代碼(AID): #12Y2HNEl (TransCSI)
討論串 (同標題文章)
文章代碼(AID): #12Y2HNEl (TransCSI)