2つの整数の値をXORスワップで交換しました。このために、次のコード行を使用しました。
a ^= (b ^= (a ^= b));
その後、b
正しい値(以前の値a
)を取得しますが、a
ゼロになります。1行に書かないと、次のように正常に機能します。
a ^= b;
b ^= a;
a ^= b;
私は何か間違ったことをしていますか、それともnetbeans /compiler / JREが何か間違ったことをしていますか?(netbeans 7.2.1を使用)
2つの整数の値をXORスワップで交換しました。このために、次のコード行を使用しました。
a ^= (b ^= (a ^= b));
その後、b
正しい値(以前の値a
)を取得しますが、a
ゼロになります。1行に書かないと、次のように正常に機能します。
a ^= b;
b ^= a;
a ^= b;
私は何か間違ったことをしていますか、それともnetbeans /compiler / JREが何か間違ったことをしていますか?(netbeans 7.2.1を使用)