看板 Programming 關於我們 聯絡資訊
有一題問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
Huangs:什麼是call by name啊? @@ 59.115.141.108 03/16 21:13
nedbob:我猜是macro? 140.135.11.175 03/16 21:36
yauhh:注意看主程式的call,call by ref不會改到y值 61.231.71.128 03/16 22:09
yauhh:Wikipedia Evaluation_strategy 61.231.71.128 03/16 22:11
※ 編輯: turnoff11 來自: 163.30.170.179 (03/17 08:18)
lingpxs:我記得只有分value, ref, address吧 114.33.233.10 03/19 01:30
lingpxs:依序是複製值,傳指標給*,傳位址給& 114.33.233.10 03/19 01:31
yauhh:C的執行方式的確只有那些,但並不是一討論 61.231.68.7 03/20 06:31
yauhh:語言處理都只談C的情況. 61.231.68.7 03/20 06:31