c#两个数进行交换

方法1:

 int a = 5;
 int b = 10;
 //定义中间变量
 int temp;
 temp = a;//temp=5
 a = b;//a=10
 b = temp;//b=5
 Console.WriteLine($"交换后a:{a},b:{b}");

方法2:

  //两数交换
  int a = 5;
  int b = 10
  //方法2
  a = a + b;//a=15
  b = a - b;//a+b-b=a=5
  a = a - b;//a+b-a=b=10
  Console.WriteLine($"交换后a:{a},b:{b}");

方法3:

 //两数交换
 int a = 5;
 int b = 10;
 //方法三(使用位运算符异或)二进制数两个对应的都为0或都为1 结果为0 反之为1
 //a=5的二进制   0101 b=10的二进制  1010
 a = a ^ b;//1111
 b = a ^ b;//(a^b)^b=0101=5
 a = a ^ b;//(a^b)^((a^b)^b) 1010=10
 Console.WriteLine($"交换后a:{a},b:{b}");

你可能感兴趣的:(c#基础,c#,算法)