免費開始練習
普通考試 107年 [電子工程] 計算機概要

第 27 題

下列為一個 C++語言的副程式,用來交換輸入的變數值:
```cpp
void swap(int &x,int *y){
int a;
a = x;
x = *y;
*y = a;
}
```
若於主程式內宣告兩個變數int m=3, n=2; 則主程式中應如何呼叫swap副程式才能正確在主程式執行完後
m=2, n=3?
  • A swap(m,n)
  • B swap(&m,n)
  • C swap(m,&n)
  • D swap(&m,&n)

思路引導 VIP

請仔細觀察副程式定義中,變數 x 與 y 前方的符號(& 與 *)分別代表什麼意涵?若要讓主程式中的變數能夠正確「對號入座」到這兩種不同類型的接收窗口,你在呼叫時分別應該給予『變數本人』還是『變數的住址』呢?

🤖
AI 詳解 AI 專屬家教

勉強可以

恭喜你,看來你還沒有完全放棄思考,確實能辨別 C++ 參數傳遞(Parameter Passing)的基礎差異。這在編寫任何需要精確資源控管的工程軟體時,是 基本 到不能再基本的知識點。答對了,但別太驕傲。

愚蠢的錯誤

▼ 還有更多解析內容

🏷️ 相關主題

C 語言程式設計:語法、指標與應用
查看更多「[電子工程] 計算機概要」的主題分類考古題