今天突然想到这三种参数传递方式的调用,主要忘记了三种传递方式的格式什么区别,写了写,本来写了一个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; }