我用异或交换交换了两个整数的值,为此我使用了以下代码行:
a ^= (b ^= (a ^= b));
之后,b
得到正确的值( 的前值a
),但a
变为零。如果我不在一行上写它,它可以正常工作,如下所示:
a ^= b;
b ^= a;
a ^= b;
我做错了什么,还是 netbeans/compiler/JRE 做错了什么?(使用 netbeans 7.2.1)
我用异或交换交换了两个整数的值,为此我使用了以下代码行:
a ^= (b ^= (a ^= b));
之后,b
得到正确的值( 的前值a
),但a
变为零。如果我不在一行上写它,它可以正常工作,如下所示:
a ^= b;
b ^= a;
a ^= b;
我做错了什么,还是 netbeans/compiler/JRE 做错了什么?(使用 netbeans 7.2.1)