不使用第三个变量,怎么交换两个变量的值?

1、异或 其运算法则为a异或b=a'b+ab'(a'为非a)。

2、真异或假的结果是真,假异或真的结果也是真,真异或真的结果是假,假异或假的结果是假。就是说两个值不相同,则异或结果为真。反之,为假。

所以 按位异或 也常用于字节取反操作。
异或还可以用来交换两个整形变量的值,而不需要第三个量的传递.

例如:

a=9;
b=10;
a=a^b;
b=b^a;
a=b^a;

结果是a为10,b为9.

用异或操作交换变量值【转】,来源:http://blog.21ic.com/user1/4692/archives/2008/53602.html

原文地址:https://www.cnblogs.com/scotcn/p/2933777.html