交换两个数是任何语言的最基础的问题
本文就交换两个数提出他、两种不同的方法:
1.指针法交换两个数:
/*用指针的交换两个数*/
#include<iostream>
using namespace std;
void exchange(int *x , int *y)
{
int temp;
temp = *x;
*x = *y;
*y = temp;
}
int main()
{
int x = 10, y = 20;
cout <<"交换前:x ="<< x <<",y =" << y <<endl;
exchange(&x , &y);
cout <<" 交换后:x = "<< x <<",y ="<< y <<endl;
return 0;
}
解释:在这个方法中:在调用函数exchange时 *x 和 *y 实际上是在操作main函数中的x 和 y
由此来改变两个数值的大小
2.引用交换法:
/*通过引用来转换两个数*/
#include<iostream>
using namespace std;
void exchange(int &x , int &y)
{
int temp;
temp = x;
x = y;
y = temp;
}
int main()
{
int x , y;
cout <<"请输入x和y的值:" <<endl;
cin >> x >> y;
cout << "交换前的x为:" << x <<",y 为:"<< y <<endl;
exchange(x , y);
cout << "交换后的x为:" << x <<",y为:"<< y << endl;
return 0;
}
解释:对于引用本质上就是为变量起一个小名,所以在exchange函数中int&x 和int &y在交换时就是在交换main函数中的x,y
感谢大家支持!