当前位置:C++技术网 > 资讯 > 面试题:8 下面哪个函数实现两个数的交换--指针与引用的理解

面试题:8 下面哪个函数实现两个数的交换--指针与引用的理解

更新时间:2016-05-16 22:01:26浏览次数:1+次

下面的五个函数哪个能够成功进行两个数的交换?
void swap(int p,int q)
{
	int temp;
	temp=p;
	p=q;
	q=temp;
}

void swap2(int *p,int *q)
{
	int *temp;
	*temp=*p;
	*p=*q;
	*q=*temp;
}

void swap3(int *p,int *q)
{
	int *temp;
	temp=p;
	p=q;
	q=temp;
}

void swap4(int &p, int &q)
{
	int temp;
	temp=p;
	p=q;
	q=temp;
}

void swap5(int *p,int *q)
{
	int temp;
	temp=*p;
	*p=*q;
	*q=temp;
}
你会选哪个呢?
答案见:解析面试题:下面哪个函数实现两个数的交换——指针与引用的理解