编写一个程序来交换两个变量而不使用第三个变量作为中介 位置。
a=2; b=3;
a=a*b; // 6
b=a/b; // 2
a=a/b; // 3
a=3 and b=2
????是真的,,,我有错误
答案 0 :(得分:1)
更好地使用没有"奇点的可逆运算符"。例如+
,-
(假设整数包装都没问题。
当然,获胜者是XOR。
a ^= b;
b ^= a;
a ^= b;
答案 1 :(得分:0)
如果b或a为零,会发生什么?如果两者都不为零,并且您没有溢出该类型,则代码将起作用。