·······swap(ponter1,pointer2);·····
void swap(int *p1,int*p2)
{
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
和
void swap(int *p1,int *p2)
{
int *p;
p=p1;
p1=p2;
p2=p;
}
兩個都是函數定義(調用函數),為什麼第一個是對的,而第二個是錯的。
第二個方法,交換的結果是不是和原來一樣呢,其實是因為你沒有理解指針~第二個方法換來換去都沒有真正的交換數據,只是把指針所指向的位置換了,即p1和p2分別指向了對方的位置,而在內存中,原本的數據順序並沒有交換