A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

int a=10,b=20;
b=a+b-(a=b);
printf("%d,%d",a,b);
喜欢的朋友加我好友哦!一起提高

7 个回复

倒序浏览
其实这个问题的最佳答案不是这个,而是用位运算,用异或:
a = a ^ b;
b = a ^ b;
a = a ^ b;
这个才是最完美的答案,你的揭发虽然也可以,但是有一种情况就处理不了,如果数太大了,a+b可能会越界。。
回复 使用道具 举报
没必要搞那么复杂吧
回复 使用道具 举报
a=a+b;
b=a-b;
a=a-b;
这个是最简单明了的
回复 使用道具 举报
赞一个~!
回复 使用道具 举报
支持一下
回复 使用道具 举报
hei军 中级黑马 2015-11-16 00:29:37
7#
int a=10,b=20;

a=a+b;

b=a-b;

a=a-b;

printf("%d,%d",a,b);


这样也可以就是太繁琐  ,没有你的这种方法好用
回复 使用道具 举报
我是来水贴的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马