swap函数 为什么这么不对?费解...
#include"iostream.h"voidswap(int*x,int*y){int*t;t=x;x=y;y=t;}main(){intx=10,y=20;swap...
#include"iostream.h"
void swap(int * x,int * y)
{
int * t;
t=x;
x=y;
y=t;
}
main()
{
int x=10,y=20;
swap(& x,& y);
cout<<"x:"<<x<<"\t"<<"y:"<<y<<endl;
} 展开
void swap(int * x,int * y)
{
int * t;
t=x;
x=y;
y=t;
}
main()
{
int x=10,y=20;
swap(& x,& y);
cout<<"x:"<<x<<"\t"<<"y:"<<y<<endl;
} 展开
2个回答
展开全部
你只是交换了x和y的地址,值并没有交换。
可以写成
void swap(int * x,int * y)
{
int t;
t=*x;
*x=*y;
*y=t;
}
或者采用引用的方式
void swap(int& x,int& y)
{
int t;
t=x;
x=y;
y=t;
}
可以写成
void swap(int * x,int * y)
{
int t;
t=*x;
*x=*y;
*y=t;
}
或者采用引用的方式
void swap(int& x,int& y)
{
int t;
t=x;
x=y;
y=t;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询