在前面的博客中,我实现了【交换两个值的函数】和【交换两个数组的函数】,但是我使用的交换思想都是通过临时变量记录的方法。
下面我将介绍为两个值交换内容时,可使用的三种交换思想:
1.利用第三个整型变量(临时变量)
c=a;
a=b;
b=c;
2.利用两个变量进行加减操作
a = a - b;
b = a + b;
a = b - a;
3.使用二进制位的异或操作(按位异或)
a=a^b;
b=a^b;
a=a^b;
加减法完整代码:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int a, b, c;
printf("请输入两个数:");
scanf("%d%d", &a, &b);
a = a - b;
b = a + b;
a = b - a;
printf("交换后的数为:%d %d\n", a, b);
return 0;
}