交换两个变量的值,先定义两个整型变量的值分别为8和6,然后交换两个变量的值。
不使用中间变量来做这个题,有一定的难度,也是曾经的一个奥数题。
思路为将两个数a,b的和保存在一个变量中比如a+b-->a,然后使用a - b就得到a的值,
在将这个值保存到变量b中(b的值已经更改为a的值);接着使用a-b得到变量b的值,
赋值给变量a即可。
代码如下
#include <stdio.h>
void main() {
int num_a = 8, num_b = 6;
printf("交换前: num_a=%d, num_b=%d \n", num_a, num_b);
// 1.先将变量num_a和num_b相加,然后将结果赋值给变量num_a(为两个数的和)
num_a = num_a + num_b;
// 2.使用变量num_a减去num_b,在赋值给变量num_b(其实就是将变量num_a的值赋值给num_b)
num_b = num_a - num_b;
// 3.使用变量num_a的值减去num_b,在赋值给num_a(其实就是将变量num_b的值赋值给num_a)
num_a = num_a - num_b;
printf("交换后: num_a=%d, num_b=%d \n", num_a, num_b);
}
运行结果如下