交换两个整数的方法比较

#include <iostream>

using namespace std;


void swap0(int x,int y)//形参的交换,没有变化

{
int temp;
temp = x;
x = y;
y = temp;
}

void swap1(int *x,int *y)//指针传递(地址传递)形参是两个整型指针,调用的时候传入整型的地址,
{
int temp;
temp = *x;
*x = *y;
*y = temp;
}

void swap2(int &x,int &y)//引用传递,形参是两个整型的引用,调用swap时,x,y初始化为main函数中的x,y的别名,简单高效!
{
int temp;
temp = x;
x = y;
y = temp;
}

void main()
{
int x = 10, y = 20;


cout<<"swap0 before:x = "<<x<<"  y = "<<y<<endl;
swap0(x,y);//传值
cout<<"swap0  after:x = "<<x<<"  y = "<<y<<endl;
 
cout<<"swap1 before:x = "<<x<<"  y = "<<y<<endl;
swap1(&x,&y);//传地址(传指针)
cout<<"swap1  after:x = "<<x<<"  y = "<<y<<endl;
 
cout<<"swap2 before:x = "<<x<<"  y = "<<y<<endl;
swap2(x,y);//(引用)
cout<<"swap2  after:x = "<<x<<"  y = "<<y<<endl;
system("pause");

}


运行结果:

swap0 before:x = 10  y = 20
swap0  after:x = 10  y = 20
swap1 before:x = 10  y = 20
swap1  after:x = 20  y = 10
swap2 before:x = 20  y = 10
swap2  after:x = 10  y = 20 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

daiyier

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值