#include<iostream>
using namespace std;
void fun(int *&ip1,int *&ip2)
{
int *temp=ip1;
temp=ip2;
ip2=ip1;
ip1=temp;
}
int main()
{
int a=12;
int b=32;
int *ipa=&a;
int *ipb=&b;
cout<<"Before swap:"<<*ipa<<" "<<*ipb<<'\n';
cout<<ipa<<" "<<ipb<<'\n';
cout<<a<<" "<<b<<'\n';
fun(ipa,ipb);
cout<<"After swap:"<<*ipa<<" "<<*ipb<<'\n';
cout<<ipa<<" "<<ipb<<'\n';
cout<<a<<" "<<b<<'\n';
return 0;
}
//问题:编写函数交换2个int型指针的值。
//前一个是交换指针所存放的存储地址,后一个是交换指针所指向的对象的值。
#include <iostream>
using namespace std;
void gcd(int *v1,int *v2)
{
int temp=*v1;
*v1=*v2;
*v2=temp;
}
int main()
{
int i,j;
cin>>i>>j;
int *ipa=&i;
int *ipb=&j;
cout<<*ipa<<" "<<*ipb<<endl;
cout<<ipa<<" "<<ipb<<endl;
cout<<i<<" "<<j<<endl;
gcd(ipa,ipb);
cout<<*ipa<<" "<<*ipb<<endl;
cout<<ipa<<" "<<ipb<<endl;
cout<<i<<" "<<j;
return 0;
}