我最近提出了这种方法来交换两个变量的值而不使用第三个变量.
a^=b^=a^=b
但是当我在不同的编译器上尝试上面的代码时,我得到了不同的结果,有些给出了正确的结果,有些则没有.
代码有什么严重错误吗?
我有一个赋值,我需要在不使用第三个变量的情况下交换两个整数.我不知道该怎么做.我该如何编码呢?
有两个整数变量.您是否可以在不使用任何if条件的情况下交换这些整数变量,而无需转换,也不使用其他变量?例如:
int a = 10;
int b = 5;
Run Code Online (Sandbox Code Playgroud)
a > b总是.答案应该是a == 5和b == 10
这两者之间有什么区别,比如一个更快还是更小?使用一个在另一个上的好处?
int a, b;
a ^= b ^= a ^= b;
Run Code Online (Sandbox Code Playgroud)
int a, b, temp;
temp = a;
a = b;
b = temp;
Run Code Online (Sandbox Code Playgroud)