1、传指针
#include <iostream>
using namespace std;
void swap(int *x, int *y)
{
int temp;
temp = *x;
*x = *y;
*y = temp;
}
int main()
{
int a = 4, b = 5;
cout << "a=" << a << " b=" << b << endl;
swap(&a, &b);
cout << "a=" << a << " b=" << b << endl;
return 0;
}
2、宏定义函数,适用于各种类型变量的交换
#include <iostream>
using namespace std;
#define SWAP(x,y,temp)(temp=x, x=y, y=temp)
int main()
{
int a = 4, b = 5;
cout << "a=" << a << " b=" << b << endl;
int temp;
SWAP(a,b,temp);
cout << "a=" << a << " b=" << b << endl;
return 0;
}
3、传引用
#include <iostream>
using namespace std;
void swap(int &x, int &y)//引用就是别名
{
int temp;
temp = x;
x = y;
y = temp;
}
int main()
{
int a = 4, b = 5;
cout << "a=" << a << " b=" << b << endl;
swap(a, b);
cout << "a=" << a << " b=" << b << endl;
return 0;
}
4、使用C++函数,适用于各种类型变量的交换
#include <iostream>
using namespace std;
int main()
{
int a = 4, b = 5;
cout << "a=" << a << " b=" << b << endl;
swap(a, b);
cout << "a=" << a << " b=" << b << endl;
return 0;
}