如何在不使用第三个变量的情况下交换两个数的值

    如果要交换两个数(比如a和b)的值,一般情况下,我们会想到使用第三个变量c作为一个临时存放的工具。

举个例子:

a=1;

b=2;

c=a;

a=b;

b=c

通过这样的方式来达到交换a和b的值。那么如何在不使用第三个变量的情况下交换两个数的值呢?以下有一个方法:

我们还是令a=1,b=2,所以a

//a是小的数,b是大的数,求出两个数之间的差值,将它赋给a

a=b-a;

//大的数(b)减去这个差值,得到较小的数,将它赋给b

b=b-a;

//小的数加上差值,得到大的数,将它赋给a,完成交换

a=b+a;

你可能感兴趣的:(如何在不使用第三个变量的情况下交换两个数的值)