int a = 1;
int b = 2;
方式一 采用一个中间变量空间
int c = a;
a = b;
b = c;
好处是比较容易理解 值也不会出问题 不好在于产生一个新的内存空间
方式二
a = a+b;//a空间存储的是两个元素之和 a==3 b没有变化 b==2
b = a-b;//利用两个元素的和减原来的b剩下是原来的a 赋值给b b==1 a==3
a = a-b;//利用a空间两个元素的和 减 原来的a 剩下是原来的b 赋值给a a==2 b==1
好处是省略了一个新的空间 不好在于 第一个 相对来讲不是很容易理解 第二个 可能会在+产生值越界
方式三
a = a^b;// 1^2==>001
010
011==3^2
010
001==>1
1^2^2==>1 一个数字异或同一个数字两次 值不会改变
a==异或中间值 b==2
b = a^b; a==异或中间值 b==1
a = a^b; a==2 b==1
笔试题 如何将两个变量的值进行互换(三种方法)
最新推荐文章于 2022-08-13 09:29:19 发布