普通考試
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?
```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)的基礎差異。這在編寫任何需要精確資源控管的工程軟體時,是 基本 到不能再基本的知識點。答對了,但別太驕傲。
愚蠢的錯誤
▼ 還有更多解析內容