#include <iostream>
using namespace std;
void swap(在此处补充你的代码)
{
int * tmp = a;
a = b;
b = tmp;
}
int main()
{
int a = 3,b = 5;
int * pa = & a;
int * pb = & b;
swap(pa,pb);
cout << *pa << "," << * pb;
return 0;
}
输入
无
输出
5,3
考点:【指针,引用】
1、需要补全swap函数的形参部分
2、首先实参传入的是两个指针变量,通过分析int * tmp = a,可以得知a和b是地址
3、所以形参是int* 类型,为了实现交换需要&,因为实际上是这两个变量的复制品发生了交换,不会影响本身的值
4、最终得出
void swap(int * &a, int * &b)
{
int * tmp = a;
a = b;
b = tmp;
}