國中教甄|資訊科技資訊科技102 年第 22 題單選題
副程式呼叫有兩種方式:傳值呼叫(call by value)和傳址呼叫(call by reference) ,下 列何者不正確?
A傳值呼叫不能用來傳陣列正確答案
B如果是用傳址呼叫參數在副程式的變化會直接改變本來的變數
C如果是用傳值呼叫參數在副程式的任何變化都不會影響本來的變數
D傳址呼叫不能將副程式中動態宣告的變數位置傳回
A正確答案
陣列在部分程式語言或特定資料結構中仍可透過傳值呼叫傳遞,故選項(A)說法過於絕對而為不正確敘述。
逐選項解析
A傳值呼叫不能用來傳陣列✓ 正確
在部分高階語言或將陣列包裝於結構(struct)中時,陣列是可以透過傳值呼叫來傳遞的(即複製整個陣列內容),因此不能用來傳陣列的說法過於絕對而錯誤。
B如果是用傳址呼叫參數在副程式的變化會直接改變本來的變數✕ 錯誤
傳址呼叫傳遞的是變數的記憶體位址,因此在副程式中修改參數,會直接更動到呼叫端的原始變數,此敘述正確。
C如果是用傳值呼叫參數在副程式的任何變化都不會影響本來的變數✕ 錯誤
D傳址呼叫不能將副程式中動態宣告的變數位置傳回✕ 錯誤
立即註冊,看完整詳解
這題的完整詳解,註冊就能看 · 每天 2 題免費
精選詳解- 完整逐選項解析
- 秒殺解題技巧與破題關鍵
- 關鍵知識表整理
- 陷阱與易錯提醒
- 同考點歷屆題庫連續刷題與錯題本