(1)交换两个变量的值-不使用第三方变量

发布时间 2023-09-26 16:04:48作者: 一只爱阅读的程序员

交换两个变量的值,先定义两个整型变量的值分别为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);
}

运行结果如下