討論串[請益] call by value, call ref, call by name
共 4 篇文章
首頁
上一頁
1
下一頁
尾頁

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者yauhh (喲)時間15年前 (2010/04/03 10:05), 編輯資訊
0
0
0
內容預覽:
Call-by-ref解釋得更奇怪.. 第二行程式本來是 z = z + y, y的呼叫參數是 x+y.. 照理說是 *&z = *&z + *&y // y對應到呼叫參數 x+y. 本來是 y 對應到 x+y, x+y 是一個不知名的暫時變數位置,. 你怎麼直接把它變成 &y 對應到 &x+&y

推噓0(0推 0噓 1→)留言1則,0人參與, 最新作者yauhh (喲)時間15年前 (2010/04/03 09:49), 編輯資訊
0
0
0
內容預覽:
這裡不對,你的call-by-name仍用by-value的策略,先把參數值求出來.. 但是call-by-name並不是先求參數值.. 以 n <- x + y 來講,因為你用了C語言處理,而C顯然是call-by-value而且是. 先求參數值,所以一個n就先被算出是固定值了. 你並沒有模擬出c
(還有562個字)

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者yauhh (喲)時間15年前 (2010/03/16 22:57), 編輯資訊
0
0
0
內容預覽:
用名字呼叫的意思,是按照呼叫時傳入的參數對應,把相同於參數名的變數名. 代換成對應的傳入參數.. 以上例來看,呼叫 confuse(x, x+y, z),意思就是以下三條替換規則:. x ---> x. y ---> x+y. z ---> z. 於是代換之後的函數變成:. function con
(還有78個字)

推噓4(4推 0噓 4→)留言8則,0人參與, 最新作者turnoff11 (運動傷害)時間15年前 (2010/03/16 18:27), 編輯資訊
0
0
0
內容預覽:
有一題問call by value, call by ref, call by name的值. 我試寫了,想問高手我的答案是正確的嗎?. function confuse(x,y,z). {. x=x+2;. z=z+y;. printf(x,y,z);. }. main(). {. x=1;. y
(還有160個字)
首頁
上一頁
1
下一頁
尾頁