作者s22407707 (谢番薯)
看板C_and_CPP
标题[问题] 计概的题目
时间Sun Jun 14 20:37:07 2009
我很认真的看了很久还是搞不太懂下面两个题目的解法
1.
procedure SUB(integer<binding>;I,J,K)
{ N = I ; I = J * K ;
while N < K do
{
{ N = N+1;
J = J+1;
}
}
print(I,J,K);
}
main
.
.
.
X=1 ; Y=2; Z=4;
SUB(X,Y,Z);
print(X,Y,Z);
题目1: 按此两题PRINT叙述依序列出结果
(A) <binding>: call by value
(B) <binding>: call by reference
希望能有人能藉由这两题教我call by value / reference
谢谢大家
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.101.22
※ 编辑: s22407707 来自: 140.116.101.22 (06/14 20:39)
1F:推 zlw:(B)答案是印出 854854 吗;(A) 是 854124 吗 06/14 20:48
2F:推 BlueKidds:call by value: copy一份资料进去proc里面 06/14 23:37
3F:→ BlueKidds:视为另外产生的一份复制资料 I只有在第二行改过 06/14 23:38
4F:→ BlueKidds:J则是一直累加到5 最後一次输出 8 5 4 XYZ则没有更改 06/14 23:40
5F:→ BlueKidds:仍然为原来的值 06/14 23:40
6F:推 BlueKidds:call by ref: 当IJK为XYZ的代称 IJK改动 XYZ改动 06/14 23:43
7F:→ BlueKidds:题目出略看起来是这样了....再讨论讨论吧 06/14 23:43
8F:→ s22407707:谢谢zlw跟blue 我大致上了解了! 06/15 00:23