我正嘗試使用指向int
的指針,如下面的程序。但是我沒有得到預期的產出。指向int的指針的錯誤輸出
輸出:
9 5
5 9
期待:
9 5
9 5
代碼:
#include <iostream>
using namespace std;
void swap (int *& a, int *&b)
{
int *t = a;
a = b;
b = t;
}
int main()
{
int a = 5, b = 9;
int *p = &a;
int *q = &b;
swap (p, q);
cout << *p << " " << *q << endl;
cout << a << " " << b << endl;
return 0;
}
爲什麼我的期望錯了嗎?我認爲這個參考不是目標變量的其他名稱。
此外,OP應該嘗試理解**爲什麼**引用或指針需要交換兩個對象,並且他不應該僅僅假設「因爲我在SO上看到它而需要它」等等。 – 2013-04-12 11:44:12