标签:void oid strong 函数 code 变量 str 等于 不难
swap函数完成变量a,b的交换。
void swap(){
a=a^b;
b=b^a;
a=b^a;
}
分析:首先对于异或二进制两数运算结果为:
0^0=0;
0^1=1;
1^0=1;
1^1=0;
异或规律:一个数异或两次另外一个数等于原来那个数,即a ^ b ^ b=a(位置可交换);
由此不难得出:
a=a^b;//第一个a相当于一个中间变量
b=b^a=b^a^b=a;
a=b^a=a^a^b=b;//这里b=a,a=a^b
标签:void oid strong 函数 code 变量 str 等于 不难
原文地址:https://www.cnblogs.com/wryy/p/13205517.html