通常情况下,交换int型变量的值时,都会定义一个中间变量,来回的倒腾,最终实现两个变量值的交换。
那么,还有没有其它方法可以实现交换功能呢?作者: 贾文泽 时间: 2013-4-29 01:48
a = a + b;
b = a - b; //a+b-b 就是 a 赋给 b
a = a - b; // a+b - b(上一步的b也就是原来的a) 就等于原来的 b 赋给 a 作者: 吴建昆 时间: 2013-4-29 02:03
贾文泽 发表于 2013-4-29 01:48
a = a + b;
b = a - b; //a+b-b 就是 a 赋给 b
a = a - b; // a+b - b(上一步的b也就是原来的a) ...
谢谢 简单明了,懂了 呵呵 作者: Jacky_Chen1990 时间: 2013-4-29 09:02
通过位移运算来进行交换:
大致过程如下
int x = 10;
int y = 20;
x = x ^ y;
y = x ^ y;
x = x ^ y;作者: harborbest 时间: 2013-4-29 09:14
这个问题之前就有同学问过了,一般的有俩种方法,
一种是通过和:x=x+y;
y=x-y
x=x-y
还有一种就是异或运算
x = x ^ y;
y = x ^ y;
x = x ^ y; 作者: 赵崇友 时间: 2013-4-29 09:45