黑马程序员技术交流社区

标题: 不使用第三方值,实现两个整数变量的值的互换? [打印本页]

作者: sorryjsy    时间: 2015-12-19 13:33
标题: 不使用第三方值,实现两个整数变量的值的互换?
不使用第三方值,实现两个整数变量的值的互换?
作者: schubertw    时间: 2015-12-19 16:08
本帖最后由 schubertw 于 2015-12-19 16:11 编辑

使用 ^ 即可实现,一个数 ^ 另一个数两次还是原来的数
  1. int a = 7;
  2. int b = 2;
  3. a = a ^ b;
  4. b = a ^ b; //b = a ^ b ^ b = a;
  5. a = a ^ b; //a = a ^ b ^ a = b;
复制代码

作者: 汐枫wait    时间: 2015-12-19 23:20
用这个^就可以
作者: 晓晓恩    时间: 2015-12-19 23:28
1楼正解,大神都用这个,法二:
  1. int a =5 ,b = 6;
  2. a = a - b ;
  3. b= a + b;
  4. a= b - a;

复制代码

方法的思路就是先把二者的差量找出来。在加到另一个上面; 在把加上后的数减去这个差量; 二者就实现了互换
其实这就是玩了一个数学游戏; 关键是思路;
作者: river1205    时间: 2015-12-20 06:32
复习一下啊

作者: 18338762337    时间: 2015-12-20 16:45
第一种

  1. n=n+m;
  2. m=n-m;
  3. n=n-m;
复制代码

第二种
  1. n=n^m;
  2. m=n^m;
  3. n=n^m;
复制代码





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