您的位置:首页 > 其它

在不用第三方参数的情况下,交换两个参数的值

2011-08-14 09:03 274 查看
#include <iostream>
using namespace std;
void main(){
int a=2;
int b=3;
/*         //方法1
a=a+b;
b=a-b;
a=a-b;
*/

/* //方法2
a=a^b;
b=b^a;
a=a^b;
*/
cout<<"a="<<a<<",b="<<b<<endl;
system("pause");
}




第一种方法:

a=a+b; b=a-b; 此时b的值已经赋成a的值了即a,b值相同。

由于 a=a+b; 则此时a的值减去原来a的值,便得到b的值,所以:b=a-b;

第二种方法:

a=a ^ b; b=b ^a; 则 b=b ^ a ^b ; b= b ^ b ^ a; b= 0 ^ a= a;

又 a=a ^ b; a= (a ^ b) ^ (b ^ a ^ b)=a ^ a ^ b ^ b ^ b=0 ^ 0 ^ b =b;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: