| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1154 人关注过本帖
标题:这样的表达式转换对么?
只看楼主 加入收藏
diwang0001
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2004-10-4
收藏
 问题点数:0 回复次数:10 
这样的表达式转换对么?

a+=b,b=a-b,a-=b;实现了a 、b的交换么?

我怎么没有看出来呢

如果写的菜一点的话是不是可以写成如下:a=a+b; b=a-b=(a+b)-b=a; a=a-b=(a+b)-b=a????

最后一个a 的值不还是原来的值么?

小弟愚昧,还请不吝赐教!

搜索更多相关主题的帖子: 表达 
2004-10-06 07:29
bcomer
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2004-9-13
收藏
得分:0 

因为第3个语句再第2个语句后面运行

所以可以实现交换

2004-10-06 10:31
白乌鸦
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2004-10-6
收藏
得分:0 
第三个表达式的具体转化过程:a-=b??

游离在代码和爱情之间的我, 感受了代码的枯燥; 品味了爱情的甜蜜; ‘盛夏’来的, 来陪伴我最最可爱的代码......
2004-10-06 10:48
bcomer
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2004-9-13
收藏
得分:0 

在第3个表达式调用时b已经和初使条件的a相等

而这时的a和a+b的值是一样的a-=b就是说a=(a+b)-(a)=b

这样做就是在调换a,b时少用了一个参数

2004-10-06 11:32
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 

这个问题不用讨论,两个数交换不建议使用这个方法。

利用第三方空间才是正确。

如下:

a=a^b;b=a^b;a=a^b;

a=a*b;b=a/b;a=a/b;

。。。。。。

都是在一定的条件下才成立的。


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-10-06 14:20
白乌鸦
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2004-10-6
收藏
得分:0 

谢谢啊[

em01]


游离在代码和爱情之间的我, 感受了代码的枯燥; 品味了爱情的甜蜜; ‘盛夏’来的, 来陪伴我最最可爱的代码......
2004-10-06 14:36
lyn_gemini
Rank: 1
等 级:新手上路
帖 子:103
专家分:3
注 册:2004-9-15
收藏
得分:0 

两个数交换也可以用这种方法啊,这样写

a-=b;

b+=a;

a=b-a;


欢迎访问我的博客--*IT一粟*-- : http://lyn_gemini.
2004-10-06 16:20
白乌鸦
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2004-10-6
收藏
得分:0 

谢谢! 不过这样实在是有些费力不讨好,在真正写程序的时候还是不要用这样的方法。

我看这些的收获是对变量值的变化有了更清楚的了解。

还是谢谢楼上的兄长!


游离在代码和爱情之间的我, 感受了代码的枯燥; 品味了爱情的甜蜜; ‘盛夏’来的, 来陪伴我最最可爱的代码......
2004-10-06 16:57
bcomer
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2004-9-13
收藏
得分:0 
以下是引用knocker在2004-10-06 14:20:01的发言:

这个问题不用讨论,两个数交换不建议使用这个方法。

利用第三方空间才是正确。

如下:

a=a^b;b=a^b;a=a^b;

a=a*b;b=a/b;a=a/b;

。。。。。。

都是在一定的条件下才成立的。

这个显然有限制条件B=0就不行了 ,但a=a+b;b=a-b;a=a-b;应当适合任何情况

2004-10-06 17:22
白乌鸦
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2004-10-6
收藏
得分:0 

建议大家不要在对这样的问题讨论不休了; 谢谢大家的帮助。

用另外一个变量可以的解决的很简单问题,我们还是不要弄出个别人要看上半天才明白的东西, 我们写东西很重要的一条原则就是:可读性强


游离在代码和爱情之间的我, 感受了代码的枯燥; 品味了爱情的甜蜜; ‘盛夏’来的, 来陪伴我最最可爱的代码......
2004-10-06 20:13
快速回复:这样的表达式转换对么?
数据加载中...
 
   



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

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