[問題] 計概的題目

看板C_and_CPP作者 (謝番薯)時間15年前 (2009/06/14 20:37), 編輯推噓3(305)
留言8則, 3人參與, 最新討論串1/1
我很認真的看了很久還是搞不太懂下面兩個題目的解法 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)

06/14 20:48, , 1F
(B)答案是印出 854854 嗎;(A) 是 854124 嗎
06/14 20:48, 1F

06/14 23:37, , 2F
call by value: copy一份資料進去proc裡面
06/14 23:37, 2F

06/14 23:38, , 3F
視為另外產生的一份複製資料 I只有在第二行改過
06/14 23:38, 3F

06/14 23:40, , 4F
J則是一直累加到5 最後一次輸出 8 5 4 XYZ則沒有更改
06/14 23:40, 4F

06/14 23:40, , 5F
仍然為原來的值
06/14 23:40, 5F

06/14 23:43, , 6F
call by ref: 當IJK為XYZ的代稱 IJK改動 XYZ改動
06/14 23:43, 6F

06/14 23:43, , 7F
題目出略看起來是這樣了....再討論討論吧
06/14 23:43, 7F

06/15 00:23, , 8F
謝謝zlw跟blue 我大致上了解了!
06/15 00:23, 8F
文章代碼(AID): #1ADExq-O (C_and_CPP)