C++ 下列关于形参程序代码的问题
#include"iostream"using namespace std;
void swap1(int x,int y)
{
int t;
t=x; x=y; y=t;
}
void swap2(int *x,int *y)
{
int t;
t=*x; *x=*y; *y=t;
}
void swap3(int &x, int &y)
{
int t;
t=x; x=y; y=t;
}
void main()
{
int x=5; int y=6;
swap1(x,y);
cout<<"变量传参:x="<<x<<"\ty="<<y<<endl;
swap2(&x,&y);
cout<<"指针传参: x="<<x<<"\ty="<<y<<endl;
swap3(x,y);
cout<<"引用传参: x="<<x<<"\ty="<<y<<endl;
}
为什么运行结果是
变量传参: x=5 y=6
指针传参: x=6 y=5
引用传参:x=5 y=6
我的理解是
变量传参:x=6 y=5
还有引用传参
为什么???