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

看板Examination作者 (小台)時間12年前 (2014/01/05 14:01), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串1/1
各位大大好,想請教的是 地方特考中的第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)呢?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.35.137.41

01/05 14:10, , 1F
因為fun2是把b的"位址"丟進去,建議你可以先去學一下
01/05 14:10, 1F

01/05 14:10, , 2F
c程式的指標運算,這樣才會比較瞭解call by address
01/05 14:10, 2F

01/05 14:12, , 3F
fun2()是把b本身做處理,而fun1是copy一份副本作運算
01/05 14:12, 3F
了解,感謝飛龍大大的建議,我也是覺得程式語言這章念的有點薄弱 我會再去找本專門的C語言來看的^^ ※ 編輯: luby0913 來自: 114.35.137.41 (01/05 16:00)
文章代碼(AID): #1IoFKqau (Examination)