三、有一個程式如下圖所示,請回答下列問題:(30 分)
procedure confuse( x, y, z);
begin
y = y + 1;
z = z + x;
end;
begin
a = 2;
b = 3;
confuse ( a+b, a, a);
print a
end
(1)如果參數是以 Call by Reference(Address)傳遞,試繪出參數傳遞圖解,並計算
輸出為多少?
(2)如果參數是以 Call by Value 傳遞,試繪出參數傳遞圖解,並計算輸出為多少?
(3)如果參數是以 Call by Name 傳遞,試繪出參數傳遞圖解,並計算輸出為多少?
對個答案
(1):輸出8
(2):輸出2
(3):輸出9
不知道對不對
--
procedure confuse( x, y, z);
begin
y = y + 1;
z = z + x;
end;
begin
a = 2;
b = 3;
confuse ( a+b, a, a);
print a
end
(1)如果參數是以 Call by Reference(Address)傳遞,試繪出參數傳遞圖解,並計算
輸出為多少?
(2)如果參數是以 Call by Value 傳遞,試繪出參數傳遞圖解,並計算輸出為多少?
(3)如果參數是以 Call by Name 傳遞,試繪出參數傳遞圖解,並計算輸出為多少?
對個答案
(1):輸出8
(2):輸出2
(3):輸出9
不知道對不對
--
All Comments