計算機概論-101地特 程式語言問題 - 特考

Table of Contents

各位大大好,想請教的是

地方特考中的第6題

http://wwwc.moex.gov.tw/ExamQuesFiles/Question/101/101190_34150.pdf

這題要分別印出a,b,c,d

答案是 10 55 55 55

想請教的是印出b的過程

為什麼b也被修改成55了呢??

答案是寫說call-by address的關係

是因為 d=fun2(&b); "&"的這個符號是call by address的運算法則嗎??

是否是遇到此類題目,將 b 丟到fun2裡面運算的結果,b就等於fun2(&b)呢??

--

All Comments

Carolina Franco avatarCarolina Franco2014-01-06
因為fun2是把b的"位址"丟進去,建議你可以先去學一下
c程式的指標運算,這樣才會比較瞭解call by address
Jake avatarJake2014-01-07
fun2()是把b本身做處理,而fun1是copy一份副本作運算