在不使用第三个变量作为中间位置的情况下交换两个变量

swap two variables without using a third variable as an intermediary position

本文关键字:变量 位置 两个 中间 交换 情况下 三个      更新时间:2023-10-16

编写一个程序来交换两个变量,而不使用第三个变量作为中介位置

a=2; b=3;
a=a*b; // 6
b=a/b; // 2
a=a/b; // 3
a=3 and b=2

是真的吗,,我在中有错误

更好地使用没有"奇点"的可逆算子。例如+-(假设整数环绕可以。

当然,赢家是XOR。

a ^= b;
b ^= a;
a ^= b;

如果b或a为零会发生什么?如果两者都不为零,并且您没有得到类型的溢出,那么您的代码将工作。