题目:
不使用变量交换2个值
代码如下:
#include <iostream>
using namespace std;
int main()
{
int a = 3;
int b = 4;
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
a = a ^ b;
b = a ^ b;
a = a ^ b;
cout<<"a="<<a<<endl;
cout<<"a="<<b<<endl;
return 0;
}
结果:

原因:
想将a和b的值互换,可以用以下赋值语句实现:
a=a∧b;
b=b∧a;
a=a∧b;
a=011(2)
(∧)b=100(2)
a=111(2)(a∧b的结果,a已变成7)