注册 登录
编程论坛 C++教室

Call-by-Value, Call-by-address, Call-by-Name 的問題

tzungshianli 发布于 2014-11-20 11:17, 337 次点击
若參數執行下列虛擬碼使用Call-by-Valhe, Call-by-Address, Call-by-Name,計算執行後,x與y最後的值分別為何?
Program main();
int x,y;
procedure SUB (int a, b, c, d);
begin
b:=a+d;
a:=c;
d:=d+1;
return
end;
begin
x:=1;
y:=2;
SUB ( x, y, x+y, y );
END
我是知道Call-by-Value是形式參數的結果不回傳,Call-by-Address是直接存取實際參數位址的內容,Call-by-Name是每個引用所對應的參數地方都重新運算。
但我還是不知道這隻程式該怎麼跑。
謝謝大家
3 回复
#2
wp2319572014-11-20 11:19
这个貌似是delphi代码  怎么跑这问了
#3
tzungshianli2014-11-20 12:27
說得也是,但主要的問題是用那三個觀念跑出來的結果,不知道有沒有人會
謝謝
#4
tzungshianli2014-11-20 21:30
請問樓上,有沒有相關的網頁可以解決delphi的問題。
謝謝
1