黑马程序员技术交流社区

标题: 求解 [打印本页]

作者: 唯伟123    时间: 2014-4-1 21:27
标题: 求解
本帖最后由 唯伟123 于 2014-4-1 22:21 编辑

对两个整数变量的值进行互换(不需要第三方变量)




作者: ╰青青子佩ˊゝ    时间: 2014-4-1 21:32
我自己写的哦,耶!看下面代码
  1. int m = 4 ;
  2.             int n = 6 ;
  3.             m = n + m ; //m = 10 , n = 6
  4.             n = m - n ; // m = 10 ,n =4
  5.             m = m - n ;// m = 6 ,n = 4
复制代码

作者: z1342802487    时间: 2014-4-1 21:58
类和主方法就不写了

int a = 2;
int b = 3;
a=a^b;
b=a^b;                               
a=a^b;
安位异或
作者: 帅哥哥    时间: 2014-4-1 22:00
1.算数方法
  1. int x = 1;
  2. int y = 2;
  3. x = x+y;
  4. y = x-y;
  5. x = x-y;
复制代码

2.位运算方法
  1. int x = 1;
  2. int y = 2;
  3. x = x^y;
  4. y = x^y;
  5. x = x^y;
复制代码

作者: z1342802487    时间: 2014-4-1 22:03
╰青青子佩ˊゝ 发表于 2014-4-1 21:32
我自己写的哦,耶!看下面代码

同学
如果
m=2147483647 即2的31次方减1
n也是就个快要溢出在数呢
作者: xietansheng    时间: 2014-4-1 22:14
本帖最后由 xietansheng 于 2014-4-1 22:24 编辑

int a = 2;
int b = 3;
a = (a + b) - (b = a);
或者
a = (a ^ b) ^ (b ^= (a ^ b));





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