#include <iostream>
using namespace std;
//错误,因为a,b都是指向地址的副本,函数结束之后,a,b就被删除了
void myswap4(int *a, int *b)
{
int * temp = a;
cout<<"形参a"<<&a;
a = b;
b = temp;
}
void myswap3(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
void myswap2(int &a, int &b)
{
int temp = b;
b = a;
a = temp;
}
//这是不使用第三个变量的交换,两个数。但是交换的仍是副本
void myswap(int a, int b)
{
a = a^b;
b = a^b;
a = a^b;
}
void main()
{
int a = 4;
int b = 5;
cout <<"a address"<< &a;
myswap4(&a, &b);
getchar();
}