问题分析
完成两个整数交换,形参分别采用变量、指针、引用。
代码实现
#include<iostream>
#include<stdio.h>
#include<math.h>
using namespace std;
//形参为 变量
void Exchange1(int x,int y){
int temp=x;
x=y;
y=temp;
}
//形参为 指针
void Exchange2(int *p,int *q){
int temp;
temp=*p;
*p=*q;
*q=temp;
}
//形参为 引用
void Exchange3(int &x,int &y){
int temp=x;
x=y;
y=temp;
}
int main(){
int x,y,m,n,a,b;
cout<<"1.形参为 变量 :"<<endl;
cout<<"输入数 x:";
cin>>x;
cout<<"输入数 y:";
cin>>y;
Exchange1(x,y);
cout<<"结果为:"<<"x="<<x<<" "<<"y="<<y<<endl<<endl;
cout<<"2.形参为 指针 :"<<endl;
cout<<"输入数 m:";
cin>>m;
cout<<"输入数 n:";
cin>>n;
Exchange2(&m,&n);
cout<<"结果为:"<<"m="<<m<<" "<<"n="<<n<<endl<<endl;
cout<<"3.形参为 引用 :"<<endl;
cout<<"输入数 a:";
cin>>a;
cout<<"输入数 b:";
cin>>b;
Exchange3(a,b);
cout<<"结果为:"<<"a="<<a<<" "<<"b="<<b<<endl<<endl;
return 0;
}
运行结果