如何交换两个变量的值?一般我们是这样做的:
int a = 10;
int b = 20;
int temp = a;
a = b;
b = temp;
这样借助于第三个临时变量,清晰易懂。如何不借助于第三个临时变量来实现两个数值的交换?
#include <stdio.h>
int main()
{
int a = 10;
int b = 20;
printf("交换前:a = %d, b = %d\n", a, b);
// 关键代码
a = a + b;
b = a - b;
a = a - b;
printf("交换后:a = %d, b = %d\n", a, b);
return 0;
}
输出:
交换前:a = 10, b = 20
交换后:a = 20, b = 10
关键代码:
a = a + b;
b = a - b;
a = a - b;