C# 如何在不使用临时变量的情况下交换两个整数值?
O/p: 交换前。 A值为:5 A值为:7 交换后。 A值为:7 A值为:5 那么,如何在不使用临时变量的情况下交换两个整数值呢?试试:C# 如何在不使用临时变量的情况下交换两个整数值?,c#,C#,O/p: 交换前。 A值为:5 A值为:7 交换后。 A值为:7 A值为:5 那么,如何在不使用临时变量的情况下交换两个整数值呢?试试: // Swapping value between two integer without using temp variable. int a = 5; int b = 7; Console.WriteLine("Before Swap."); Console.WriteLine("value
// Swapping value between two integer without using temp variable.
int a = 5;
int b = 7;
Console.WriteLine("Before Swap.");
Console.WriteLine("value of A is: {0}", a);
Console.WriteLine("value of B is: {0}", b);
Console.ReadLine();
您需要使用XOR运算符:
a = a + b;
b = a - b;
a = a - b;
这是因为应用两次具有相同值的异或会取消操作:
a = a ^ b;
b = a ^ b;
a = a ^ b;
第一种方法
a ^ b ^ b => a
第二种方法
a = a + b;
b = a - b;
a = a - b;
您正在发布一个脑筋急转弯,但这并不是一个合适的地方。我甚至认为我在编辑之前看到了解决方案。。。也许你应该发到puzzling.stackexchange.com?
a = a + b;
b = a - b;
a = a - b;
a ^= b;
b ^= a;
a ^= b;