Q76.
下列函式原型及變數宣告,在 main function 正確的函數呼叫,下列何者正確?
電腦軟體設計共同科目 · 乙級 · Q76
難易度分析
3 / 5
此題考查函式呼叫時參數型別與傳遞方式的精準對應,需正確區分指標參數與一般參數的傳遞差異,並依照函式原型定義的順序進行配對。
正確答案:④&r, a
④ &r, a:&r 傳遞變數 r 的記憶體位址符合指標參數需求,a 以傳值傳遞符合第二個參數型別,此為正確的函式呼叫引數配對。
錯誤選項解析
- ① &a, a:取址運算子 & 套用於變數 a 會產生指標型別,若函式原型要求非指標參數則型別不符;第二個參數 a 若需傳遞參考或指標則不符合呼叫規範。
- ② r, &r:直接傳遞變數 r 與其位址 &r 的組合與函式原型參數順序不匹配,且若第一個參數需接收位址則傳值會造成型別不相容錯誤。
- ③ a, &r:將 a 以傳值方式傳遞、r 以傳址方式傳遞的組合與函式原型宣告的參數型別順序相反,導致編譯時期引數型別不符。
Learning Tip
"此題核心考點為 C/C++ 函式呼叫時的傳值與傳址配對規則。常見陷阱為混淆 取址運算子 & 的使用時機,需牢記:若函式原型參數為指標型別則呼叫時須傳遞位址,若為一般型別則直接傳值。實務上應先確認函式原型的參數型別順序,再決定引數是否加上 & 運算子。"
學員答題分佈
①&a, a0%
②r, &r0%
③a, &r0%
④&r, a0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!