Q26.
程式設計中,採"Call by value"的參數傳遞方式,下列何者正確?
數位電子 · 乙級 · 程式語言 · Q26
難易度分析
2 / 5
本題主要測試對程式參數傳遞機制基本定義的掌握程度。選項設計包含多個易混淆的技術術語,如資料型態、記憶體位址等,考生需精確辨別「值」與「位址」在傳遞過程中的本質區別。
正確答案:③將參數的值,傳送給被呼叫的函數
③ 將參數的值,傳送給被呼叫的函數:Call by value(傳值呼叫)會將參數的實際值複製一份傳遞給被呼叫的函數,因此被呼叫端操作的是副本,不會影響呼叫端的原始變數。
錯誤選項解析
- ① 將參數的資料型態,傳送給被呼叫的函數:Call by value 傳遞的是參數的實際數值,而非資料型態。資料型態僅在編譯階段用於記憶體配置與型別檢查,不會在執行期被傳遞。
- ② 將參數的位址,傳送給被呼叫的函數:將參數的記憶體位址傳遞給被呼叫函數屬於 Call by reference(傳址呼叫)的方式,而非 Call by value。傳址呼叫允許被呼叫端直接修改原始變數內容。
- ④ 將參數的名稱,傳送給被呼叫的函數:參數名稱僅是程式碼中的識別字元,編譯後會被轉換為記憶體位址,執行期並不會傳遞變數名稱。此描述不符合任何標準參數傳遞機制。
Learning Tip
"此類題型常考 Call by value(傳值)與 Call by reference(傳址)的差異。關鍵在於:傳值呼叫產生資料副本,原始資料不受影響;傳址呼叫傳遞記憶體位址,被呼叫端可直接修改原始資料。實務上,若需保護原始資料不被修改,應優先使用 Call by value;若需回傳多個結果或處理大型結構,則使用 Call by reference 以提升效能。"
學員答題分佈
①將參數的資料型態,傳送給被呼叫的函數0%
②將參數的位址,傳送給被呼叫的函數0%
③將參數的值,傳送給被呼叫的函數0%
④將參數的名稱,傳送給被呼叫的函數0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!