高尾です。 >>まつもとさん > 評価順が異なるからではないでしょうか。Rubyではオペランドは左 > から右に評価すると定められています。一方、Cでは評価順序は実装 > 依存です。 理解しました。 括弧の中を先に計算する(日本語は不便ですね)習慣のせいで、 目で追うときもついそうしてしまいました。 以下のコードが期待通りに動く事を確認しました。ありがとうございます。 a = (b = (a = a ^ b) ^ b) ^ a >>なかむら(う)さん > a, b = b, a > で十分ですよね。 ああ、盲点でした^^;。 ありがとうございます。