[請益] call by value, call ref, call by name

看板Programming作者 (運動傷害)時間15年前 (2010/03/16 18:27), 編輯推噓4(404)
留言8則, 4人參與, 最新討論串1/4 (看更多)
有一題問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=2; z=3; confuse(x,x+y,z); printf(x,y,z); } call by value,我的答案是(3,3,6) (1,2,3) call by ref, 我的答案是(3,3,6) (3,3,6) call by name,我的答案是(3,3,6) (3,3,6) 不知道對不對? 另外題目有問到這個程式語言的scope?這什麼意思? -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.30.170.207

03/16 21:13, , 1F
什麼是call by name啊? @@
03/16 21:13, 1F

03/16 21:36, , 2F
我猜是macro?
03/16 21:36, 2F

03/16 22:09, , 3F
注意看主程式的call,call by ref不會改到y值
03/16 22:09, 3F

03/16 22:11, , 4F
Wikipedia Evaluation_strategy
03/16 22:11, 4F
※ 編輯: turnoff11 來自: 163.30.170.179 (03/17 08:18)

03/19 01:30, , 5F
我記得只有分value, ref, address吧
03/19 01:30, 5F

03/19 01:31, , 6F
依序是複製值,傳指標給*,傳位址給&
03/19 01:31, 6F

03/20 06:31, , 7F
C的執行方式的確只有那些,但並不是一討論
03/20 06:31, 7F

03/20 06:31, , 8F
語言處理都只談C的情況.
03/20 06:31, 8F
文章代碼(AID): #1BdrqlWI (Programming)
文章代碼(AID): #1BdrqlWI (Programming)