Симметрично:
ел этот код, чтобы поменять два числа без использования третьей переменной, используя XOR^
оператор.
Код:
int i = 25;
int j = 36;
j ^= i;
i ^= j;
j ^= i;
Console.WriteLine("i:" + i + " j:" + j);
//numbers Swapped correctly
//Output: i:36 j:25
Теперь я изменил приведенный выше код на этот эквивалентный код.
Мой код:
int i = 25;
int j = 36;
j ^= i ^= j ^= i; // I have changed to this equivalent (???).
Console.WriteLine("i:" + i + " j:" + j);
//Not Swapped correctly
//Output: i:36 j:0
Теперь я хочу знать,Почему мой код дает неправильный вывод?