/* 实现两个数在函数成功交换的两种方法 */
#include <cstdlib>
#include <iostream>
using namespace std;
int swap(int &p,int &q){
int temp;
temp=p;
cout << "------------------swap方法体内" << endl;
cout <<"swap方法使用的是地址对应的值交换" << endl;
cout << ".........形式参数p和q其实分别代表传入的a,b值的地址.....a的地址....."<< &p << "....b的地址........" << &q<<endl;
cout <<"a的值:"<< p << ",b的值:" << q << endl;
p=q;
q=temp;
cout << "swap方法体内---------------------" <<endl;
return 0;
}
int swap1(int *p,int *q)
{
cout <<"----------------swap1方法体内" << endl;
cout <<"swap1方法使用的是地址对应的值交换" << endl;
int temp;
cout << "a的地址" << p << ",b的地址为" << q << endl;
cout << "a的值" << *p << ",b的值为" << *q << endl;
temp=*p;
*p=*q;
*q=temp;
cout << "swap1方法体内---------------------" << endl;
return 0;
}
int main(int argc, char *argv[])
{
int a,b;
int *p=&a;
int *q=&b;
cin >> a >> b;
cout <<"*****a的地址&a:"<< &a << "*********p为地址:" << p <<endl;
swap (a,b);
cout <<"swap方法:"<<"交换后a的值:" << a << ",交换后b的值" << b << endl;
swap1(p,q);
cout <<"swap1方法:"<<"交换后a的值:" << a << ",交换后b的值" << b << endl;
swap1(&a,&b);
cout <<"swap1方法:"<<"交换后a的值:" << a << ",交换后b的值" << b << endl;
system("PAUSE");
return 0;
}
能够实现两数在函数中成功交换的两种方法
最新推荐文章于 2021-12-01 17:15:18 发布