编程论坛
注册
登录
编程论坛
→
VC++/MFC
大家帮忙解惑一下,为什么这个函数能正确编译并执行
acone
发布于 2013-05-22 11:05, 492 次点击
void Swap(double x, double y) { x = x+y; y = x-y; x = x-y; }
总感觉应该传地址进去呀
3 回复
#2
ouyangyang
2013-05-22 11:56
1.可以正确执行,但是不改变形参(即x,y值不改变),x,y生存周期只限于函数swap(..)中
2.如果使用引用符号,则会改变形参的值
int a,b;
swap(a,b); 不改变a,b值
swap(&a,&b); 改变a,b值
#3
acone
2013-05-22 14:30
谢谢楼上!
还是不太明白,如果x,y的值不改变,要此函数何用?
求各位大侠继续解释。
#4
hpshuaia
2013-05-23 12:55
那个递归的思想 不是可以用a=a+b;b=a+b;吗?
1