4

2つの整数の値をXORスワップで交換しました。このために、次のコード行を使用しました。

a ^= (b ^= (a ^= b));

その後、b正しい値(以前の値a)を取得しますが、aゼロになります。1行に書かないと、次のように正常に機能します。

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

私は何か間違ったことをしていますか、それともnetbeans /compiler / JREが何か間違ったことをしていますか?(netbeans 7.2.1を使用)

4

0 に答える 0