C语言中交换两数的方法
在学习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;
按位与^,真是一个神奇的符号,利用这种方法也可以完成交换,按位与这个符号还有很多的用途,大家可以自行去探索,但是上面这段代码可读性不强,第一眼看不容易看懂。
