作者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