黑马程序员技术交流社区
标题:
进阶篇:两个变量交换,不使用第三个变量
[打印本页]
作者:
blazehot18
时间:
2015-11-14 00:24
标题:
进阶篇:两个变量交换,不使用第三个变量
int a=10,b=20;
b=a+b-(a=b);
printf("%d,%d",a,b);
喜欢的朋友加我好友哦!一起提高
作者:
正在输入中...
时间:
2015-11-14 01:12
其实这个问题的最佳答案不是这个,而是用位运算,用异或:
a = a ^ b;
b = a ^ b;
a = a ^ b;
这个才是最完美的答案,你的揭发虽然也可以,但是有一种情况就处理不了,如果数太大了,a+b可能会越界。。
作者:
arhui
时间:
2015-11-14 21:17
没必要搞那么复杂吧
作者:
陌忆
时间:
2015-11-14 22:44
a=a+b;
b=a-b;
a=a-b;
这个是最简单明了的
作者:
没有做完的梦
时间:
2015-11-14 23:20
赞一个~!
作者:
liuchuan_alex
时间:
2015-11-14 23:30
支持一下
作者:
hei军
时间:
2015-11-16 00:29
int a=10,b=20;
a=a+b;
b=a-b;
a=a-b;
printf("%d,%d",a,b);
这样也可以就是太繁琐 ,没有你的这种方法好用
作者:
韦德460
时间:
2015-11-16 10:23
我是来水贴的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2