可能重复:
Swap the values of two variables without using third variable交换两个变量,而无需使用第三个变量作为中介位置
写一个程序,交换两个变量,而无需使用第三可变作为中介 位置。
a=2; b=3;
a=a*b; // 6
b=a/b; // 2
a=a/b; // 3
a=3 and b=2
????这是真的,,,我对此非常
可能重复:
Swap the values of two variables without using third variable交换两个变量,而无需使用第三个变量作为中介位置
写一个程序,交换两个变量,而无需使用第三可变作为中介 位置。
a=2; b=3;
a=a*b; // 6
b=a/b; // 2
a=a/b; // 3
a=3 and b=2
????这是真的,,,我对此非常
错误,如果B或A是零,会发生什么?如果两者都不为零,并且您没有得到该类型的溢出,那么您的代码将起作用。
更好地使用没有“奇点”的可逆运算符。如+
,-
(假设整数的wraparounds都ok。
,当然,获胜者是XOR。
a ^= b;
b ^= a;
a ^= b;
作业?你可以看一下在网络上的解决方案。经典的一个使用XOR。 – 2012-03-06 09:13:29
你可以对你的问题/错误有更详细的了解吗? – Cameron 2012-03-06 09:14:36
你将遇到0值问题 – xitx 2012-03-06 09:14:39