值互换问题
在编程过程中我们常常会遇到要将两个变量的值交换的问题
值交换有两种方法,第一种:
借助第三变量
int a = 10 , int b = 15
现在要把a、b两个变量的值互换,代码如下:
int a = 10; int b = 15; int temp = a; a = b; //a = 15 b = temp; //b = 10
互换完成。
第二种,不借助第三变量:
int a = 10; int b = 15; a = a + b; //a = 10 + 15 = 25; b = a - b; //b = 25 - 15 = 10; a = a - b; //a = 25 - 10 = 15;
互换完成。
既然可以不借助第三变量就完成值互换,那还要第一种方法干什么呢?答:因为第二种方法是通过加减运算来完成值互换的,所以使用范围有相当的局限性,试想,当两个char或者string类型的变量要进行值互换时就很难用加减运算来实现值的互换了。但是第一种方法不一样,它适用于所有值互换的情况,不管要交换值的两个变量是基本数据类型还是类的对象.