今天突然想到这三种参数传递方式的调用,主要忘记了三种传递方式的格式什么区别,写了写,本来写了一个c版本的,发现c竟然没有引用传递,好吧,c++里有,真是没有想到。
附上代码:
#include<iostream>
using namespace std;
void f1(int &a,int &b)
{
int tmp;
tmp=a;
a=b;
b=tmp;
}
void f2(int a,int b)
{
int tmp;
tmp=a;
a=b;
b=tmp;
}
void f3(int *a,int *b)
{
int tmp;
tmp=*a;
*a=*b;
*b=tmp;
}
int main()
{
int a=1,b=2;
cout<<"a="<<a<<","<<"b="<<b<<endl;
f1(a,b);
cout<<"a="<<a<<","<<"b="<<b<<endl;
f2(a,b);
cout<<"a="<<a<<","<<"b="<<b<<endl;
f3(&a,&b);
cout<<"a="<<a<<","<<"b="<<b<<endl;
return 0;
}