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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

不使用第三方值,实现两个整数变量的值的互换?

5 个回复

倒序浏览
本帖最后由 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;
复制代码

评分

参与人数 1黑马币 +20 收起 理由
845479430 + 20 很给力!

查看全部评分

回复 使用道具 举报 2 0
用这个^就可以
回复 使用道具 举报
1楼正解,大神都用这个,法二:
  1. int a =5 ,b = 6;
  2. a = a - b ;
  3. b= a + b;
  4. a= b - a;

复制代码

方法的思路就是先把二者的差量找出来。在加到另一个上面; 在把加上后的数减去这个差量; 二者就实现了互换
其实这就是玩了一个数学游戏; 关键是思路;
回复 使用道具 举报
复习一下啊
回复 使用道具 举报
第一种

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

第二种
  1. n=n^m;
  2. m=n^m;
  3. n=n^m;
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马