中易网

关于两数异或交换的问题~~

答案:1  悬赏:10  
解决时间 2021-04-09 13:37
void swap(int& a, int& b)
{
a=a^b;
b=a^b;
a=a^b;
}
为什么有时候当a == b,交换后两个都变成0了,比如a =6,b=6,经过函数处理后,都变成0了,单独测试是OK的,用在程序里就这样了
最佳答案
不可能的,你仔细看过了?


#include <iostream>
using namespace std;
void swap(int& a, int& b)
{
a=a^b;
b=a^b;
a=a^b;
}
void exchange(int &a, int &b)
{
a = a + b;
b = a - b;
a = a - b;
}
int main()
{
int a = 0, b = 0;
cout << "Input a and b:"<<endl;
cin >> a >> b;
swap(a, b);
cout << "SWQPED: a = " << a << ", b = " << b << endl;

cout << "Input a and b:"<<endl;
cin >> a >> b;
exchange(a, b);
cout << "EXCHANGED: a = " << a << ", b = " << b << endl;
return 0;
}

Outcome:


Input a and b:
3 3
SWQPED: a = 3, b = 3
Input a and b:
4 4
EXCHANGED: a = 4, b = 4
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
藏头诗:我爱薛瑞 谢谢高人了
达芙文有副作用吗
写小河的排比句八十个字
我女儿要结婚了,结婚的新房是在我们自己家,
两钢管进行垂直焊接,怎样划出交线
我现在想做西餐该学些什么?
QQ密码16位MD5破解
街舞里的定点是撑的哪里?
黄家驹唱的日文版海阔天空比中文版海阔天空更
中国电信平阴县五岭路锦绣营业厅地址在哪,我
有哪些韩国明星喜欢我们公主蔡依林呢?我就听
刚买了个小米note,为什么只支持移动4G,联通
公历1995年10月06日是农历几月几号?
郑州到秦皇岛的快车需要多长时间
为什么我登录北京教育考试院网总是登录不上?
推荐资讯
昆明初中排名一览表
有没有能够360度全景展示的软件
青浦乔家栅怎么去啊,有知道地址的么
超星神中 未加的扮演者是谁,我要具体的资料
请问:台湾铭传大学怎么样?台湾研究生是读几
驾校学员卡丢了能补办吗?如果补办回来刷过的
视力对高考的影响
江西理发店这个地址在什么地方,我要处理点事
求1个摩尔庄园的好号,当场给我哦,要成为勋
我刚买了台车,还了价的。4S店开的发票价比买
三星s7edge怎么破解锁屏密码
中国人工智能程序排名
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?