黑马程序员技术交流社区

标题: 如何原地交换两个变量的值 [打印本页]

作者: Jason.wang    时间: 2016-5-8 19:04
标题: 如何原地交换两个变量的值
先把两个值相加赋值给第一个变量,然后用得到的结果减去第二个变量,赋值给第二个变量。再用第一个变量减去第二个变量,同时赋值给第一个变量。代码如下:

int a=5,b=10;a=a+b; b=a-b; a=a-b;
使用异或操作也可以交换。第一个方法还可能会引起溢出。异或的方法如下: int a=5,b=10;a=a+b; b=a-b; a=a-b;

int a = 5; int b = 10;
a = a ^ b;
b = a ^ b;
a = a ^ b;
作者: pal_xie    时间: 2016-5-9 22:12
a = b + (b = a) * 0;




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2