作者ofspring (青春無敵)
看板PLT
標題[問題] 想請問一個關於"參數傳遞"的問題
時間Thu Dec 29 17:33:57 2011
已閱讀過板規,若發文內容不適合在此板討論,會自行刪文 ^^"
(也希望能告知是否有專門討論的版,萬分感謝)
在下目前在準備預官考試,其中"計算機概要"有一章節
在討論主程式和副程式間參數傳遞的問題題組
此題組著實令人困惑
-----題組如下-----
Sub (x,y,z)
{x = y + z;
y = z - x}
main()
{a=1; b=2; c=3
call Sub (a, b, a+c);
print(a, b, c);}
Q1: 此程式如果參數傳遞的方式是 call-by-value,輸出結果為何?
A1: (1, 2, 3)
Q2: 若參數傳遞的方式是 call-by-reference,輸出結果為何?
A2: (6, -2, 3)
Q3: 若參數傳遞的方式是 call-by-name,輸出結果為何?
A3: (6, -2, 3)
--
call-by-value的結果,可以理解
我想請問的是為何call-by-reference和call-by-name 會得到一樣的結果呢?
是否call-by-name的輸出有誤?
非常感謝你的解答 <(_ _)>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.68.96.60
1F:→ mars90226:b好像應該是3? 12/29 19:19