注册 登录
编程论坛 C++教室

C++ 下列关于形参程序代码的问题

拉C 发布于 2010-06-15 15:21, 566 次点击
#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
还有引用传参
为什么???
2 回复
#2
南国利剑2010-06-15 15:37
路过。。。。。
#3
lovingy2010-06-15 16:24
其实,变量名传递的只是实参的一个复制,并没有真正的改变值。。。
1