Re: [問題] swap兩個元素的方法
※ 引述《nana0130 (小那)》之銘言:
void swap(int a, int b) //交換a跟b指向位置的值
{
int temp;
temp = a;
a = b;
b = temp;
}
int main()
{
int i = 5, j = 10;
swap(i, j);
}
在這個例子裡, main 裡面的 i, j 與 swap 裡面的 a, b
a 是 i 的複製品,b 是 j 的複製品
因此你交換 a, b 對 i, j 是毫無影響的
(你改變了影印稿上面的資料,會期望正本的資料也跟著改變嗎 XD)
至於為什麼用 swap(int *i, int *j) 或 swap(int &i, int &j) 就會成功
如果有疑惑的話,請參考書本上或者網路上關於 pointer 與 reference 的說明
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.117.171.46
→
04/27 18:24, , 1F
04/27 18:24, 1F
推
04/27 19:35, , 2F
04/27 19:35, 2F
→
04/27 19:42, , 3F
04/27 19:42, 3F
推
04/27 19:59, , 4F
04/27 19:59, 4F
→
04/27 20:01, , 5F
04/27 20:01, 5F
→
04/27 20:02, , 6F
04/27 20:02, 6F
推
04/27 23:40, , 7F
04/27 23:40, 7F
→
04/27 23:40, , 8F
04/27 23:40, 8F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 4 篇):
問題
11
30