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