交换变量的值

Posted 会编程的厨子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了交换变量的值相关的知识,希望对你有一定的参考价值。

方法一:借助第三方变量

技术分享
 1 #region 1 利用第三方变量
 2             int a = 10;
 3             int b = 20;
 4             Console.WriteLine("交换前的值:a={0},b={1}", a, b);
 5             Console.ReadKey();
 6             int temp = a;
 7             a = b;
 8             b = temp;
 9             Console.WriteLine("交换后的值:a={0},b={1}", a, b);
10             Console.ReadKey();
11             #endregion
View Code

方法二:不借助第三方变量

  1)加减法

技术分享
 1 #region 2 不利用三方变量 (加减法)
 2             int a = 10;
 3             int b = 20;
 4             Console.WriteLine("交换前的值:a={0},b={1}", a, b);
 5             Console.ReadKey();
 6             a = a + b;   //30 
 7             b = a - b;   //10
 8             a = a - b;   //20
 9             Console.WriteLine("交换后的值:a={0},b={1}", a, b);
10             Console.ReadKey();
11             #endregion
View Code

  2)异或运算

技术分享
 1 /*
 2              *分析:数字变为二进制在进行异或运算[0^1 = 1 ,0^0=0 1^1=0]
 3              *10  ==> 01001   ==>a
 4              *20  ==> 10100   ==>b
 5              * a^b
 6              * 01001
 7              * 10100
 8              * 11101   ==> a
 9              * 10100
10              * 01001   ==>b(10)
11              * 11101
12              * 10100   ==>a(20)
13              */
14             int a = 10;
15             int b = 20;
16             Console.WriteLine("交换前:a={0},b={1}", a, b);
17             Console.ReadKey();
18             a = a ^ b;
19             b = a ^ b;
20             a = a ^ b;
21             Console.WriteLine("交换后:a={0},b={1}", a, b);
22             Console.ReadKey();
View Code

 

以上是关于交换变量的值的主要内容,如果未能解决你的问题,请参考以下文章

PHP不用第三变量交换2个变量的值的解决方法

如何在PYTHON 中写一个函数交换两个变量的值

交换两个数的值,不适用第三个变量

不利用临时变量,交换两个变量的值

PHP中交换两个变量的值

实现两个变量的值交换的三种方法(两种方法不使用中间变量)