交换两个变量的值,下面介绍三种方式。
题目描述:
给定两个数值,分别是a = 1, b = 2。通过程序将a和b的数值进行交换,最终输出a = 2, b = 1。
使用中间变量
- 声明一个中间变量tmp,然后将a赋值给tmp,b赋值给a,最后将tmp赋值给b。
int tmp = a;
a = b;
b = tmp;
不使用中间变量
- 不使用中间变量,就需要通过a和b两个数值进行加减法进行运算。
a = a + b;
b = a - b;
a = a - b;
通过位运算交换变量
- 采用异或运算交换a,b变量
a = a ^ b;
b = b ^ a;
a = a ^ b;
异或运算是通过操作二进制进行计算的。异或的计算规则:相同则为0,不同则为1.
- a=1的二进制是01.
- b=2的二进制是10.
01 // a 1
^ 10 // b 2
11 // a = a ^ b 3
10 // b 2
^ 11 // a 3
01 // b = b ^ a 1
11 // a 3
^ 01 // b 1
10 // a = a ^ b 2
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/134816.html