| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 491 人关注过本帖
标题:大家帮忙解惑一下,为什么这个函数能正确编译并执行
只看楼主 加入收藏
acone
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-8-25
结帖率:20%
收藏
 问题点数:0 回复次数:3 
大家帮忙解惑一下,为什么这个函数能正确编译并执行

void Swap(double x, double y) { x = x+y; y = x-y; x = x-y; }

总感觉应该传地址进去呀
搜索更多相关主题的帖子: 函数 void double 
2013-05-22 11:05
ouyangyang
Rank: 2
等 级:论坛游民
帖 子:5
专家分:27
注 册:2013-5-20
收藏
得分:0 
1.可以正确执行,但是不改变形参(即x,y值不改变),x,y生存周期只限于函数swap(..)中
2.如果使用引用符号,则会改变形参的值

int a,b;
swap(a,b);    不改变a,b值
swap(&a,&b);   改变a,b值
2013-05-22 11:56
acone
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-8-25
收藏
得分:0 
谢谢楼上!
还是不太明白,如果x,y的值不改变,要此函数何用?
求各位大侠继续解释。
2013-05-22 14:30
hpshuaia
Rank: 2
等 级:论坛游民
帖 子:28
专家分:22
注 册:2013-5-16
收藏
得分:0 
那个递归的思想 不是可以用a=a+b;b=a+b;吗?
2013-05-23 12:55
快速回复:大家帮忙解惑一下,为什么这个函数能正确编译并执行
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011917 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved