值互换问题

在编程过程中我们常常会遇到要将两个变量的值交换的问题

值交换有两种方法,第一种:

借助第三变量

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类型的变量要进行值互换时就很难用加减运算来实现值的互换了。但是第一种方法不一样,它适用于所有值互换的情况,不管要交换值的两个变量是基本数据类型还是类的对象.

posted @ 2010-07-05 13:58  LyZane  阅读(325)  评论(0编辑  收藏  举报