[問題] swap兩個元素的方法
遇到的問題: (題意請描述清楚)
swap 兩個數值
可以這樣寫
void swap(int *a, int *b) //交換a跟b指向位置的值
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}
還有什麼別的方法嗎 ?
為什麼不能傳值到function 裡面去作交換
void swap(int a, int b) //交換a跟b指向位置的值
{
int temp;
temp = a;
a = b;
b = temp;
}
我試的結果是 swap裡面 是交換了
但是回去 main 之後,卻仍沒交換~~
這是為什麼?
為什麼 一定要用傳位址~~
希望得到的正確結果:
程式跑出來的錯誤結果:
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
有問題的code: (請善用置底文標色功能)
補充說明:
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.39.115
→
04/27 15:35, , 1F
04/27 15:35, 1F
→
04/27 15:36, , 2F
04/27 15:36, 2F
→
04/27 15:36, , 3F
04/27 15:36, 3F
→
04/27 15:39, , 4F
04/27 15:39, 4F
→
04/27 15:41, , 5F
04/27 15:41, 5F
推
04/27 15:52, , 6F
04/27 15:52, 6F
→
04/27 16:27, , 7F
04/27 16:27, 7F
→
04/27 17:43, , 8F
04/27 17:43, 8F
→
04/27 17:44, , 9F
04/27 17:44, 9F
推
04/27 17:48, , 10F
04/27 17:48, 10F
推
04/27 17:55, , 11F
04/27 17:55, 11F
推
04/27 18:00, , 12F
04/27 18:00, 12F
推
04/27 18:03, , 13F
04/27 18:03, 13F
推
04/27 18:09, , 14F
04/27 18:09, 14F
→
04/27 18:10, , 15F
04/27 18:10, 15F
→
04/27 18:11, , 16F
04/27 18:11, 16F
→
04/27 18:12, , 17F
04/27 18:12, 17F
→
04/27 18:12, , 18F
04/27 18:12, 18F
推
04/27 18:13, , 19F
04/27 18:13, 19F
→
04/27 18:16, , 20F
04/27 18:16, 20F
→
04/27 18:16, , 21F
04/27 18:16, 21F
→
04/27 18:18, , 22F
04/27 18:18, 22F
→
04/27 18:19, , 23F
04/27 18:19, 23F
推
04/27 18:30, , 24F
04/27 18:30, 24F
→
04/27 18:34, , 25F
04/27 18:34, 25F
→
04/27 18:37, , 26F
04/27 18:37, 26F
推
04/28 02:46, , 27F
04/28 02:46, 27F
推
05/07 11:48, , 28F
05/07 11:48, 28F
推
01/05 23:58, , 29F
01/05 23:58, 29F
→
01/06 00:02, , 30F
01/06 00:02, 30F
討論串 (同標題文章)