27 下列為一個 C++語言的副程式,用來交換輸入的變數值:
若於主程式內宣告兩個變數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)
答案:登入後查看
統計: A(32), B(89), C(245), D(100), E(0) #1915924
統計: A(32), B(89), C(245), D(100), E(0) #1915924
詳解 (共 5 筆)
#5616820
來科普一下
因為 函數std::swap(是C++標準模板庫(STL)中的內置函數,該函數交換兩個變量的值。
所以理所當然swap(m, n)也可以使用

要測試就要另外取新的函數名稱
(這邊命新的名字change)
版本 1. 沒傳址 or 參考

不會交換
版本 2. m傳參考 , n傳址

有交換
那麼(A)(B)(D)的答案都會報錯就不一一貼上來了
若有錯誤歡迎指教:)
因為 函數std::swap(是C++標準模板庫(STL)中的內置函數,該函數交換兩個變量的值。
所以理所當然swap(m, n)也可以使用

要測試就要另外取新的函數名稱
(這邊命新的名字change)
版本 1. 沒傳址 or 參考

不會交換
版本 2. m傳參考 , n傳址

有交換
那麼(A)(B)(D)的答案都會報錯就不一一貼上來了
若有錯誤歡迎指教:)
6
0
#3446726
to 2F
你可以把副程式swap的名字改成其他的甚至刪除,swap也能正常運作
因為已有swap(int &X,int &Y)的副程式,所以你才能用.不然應該會跳錯
5
1
#3275970
經驗證
(A) swap(m,n) 也會置換阿..

4
0