在学习C语言的过程中,很多地方都会用到交换两个数这一步,下面来介绍一下交换两数的常见的3种方法:
1.采用一个临时变量,这也是我们最常用的一种方法,直观且简单,其代码如下:
int a = 3;
int b = 5;
int temp = 0;
temp = a;
a = b;
b = temp;
2.不创建临时变量,也可以完成交换,其代码如下:
int a = 3;
int b = 5;
a = a + b;
b = a - b;
a = a - b;
这种方法虽然可以完成交换,但是当a和b的值很大的时候,也就是快要超出一个整形的范围时,会发生越界,所以对于需要交换的数字很大时,慎用。
3.不创建临时变量,第二种方法会存在越界的情况,下面介绍一种不会发生越界的方法,代码如下:
int a = 3;
int b = 5;
a = a ^ b;
b = a ^ b;
a = a ^ b;
异或(^),真是一个神奇的符号,利用这种方法也可以完成交换,异或这个符号还有很多的用途,大家可以自行去探索,但是上面这段代码可读性不强,第一眼看不容易看懂。