A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

方式一: 利用第三个变量交换变量的值(适用范围最广).

  1. # include <stdio.h>

  2. int main()
  3. {
  4.         int a, b, t;
  5.         scanf("%d%d", &a, &b);
  6.         t = a;
  7.         a = b;
  8.         b = t;
  9.         printf("%d %d\n", a, b);

  10.         return 0;
  11. }
复制代码

方式二:直接加减法交换两个变量的值(注意:数值的上溢下益. 且, 只有定义了加减法的数据类型才可以这么做)。

  1. # include <stdio.h>

  2. int main()
  3. {
  4.         int a, b;
  5.         scanf("%d%d", &a, &b);

  6.         a = a + b;
  7.         b = a - b;
  8.         a = a - b;

  9.         printf("%d %d\n", a, b);

  10.         return 0;
  11. }
复制代码

方式三:利用^(异或运算符)交换两个变量的值.
(此为方式二的变种, 可简写为 a ^= b ^= a ^= b.
整体来看, 三变量是最通用的! 建议多使用)
  1. # include <stdio.h>

  2. int main()
  3. {
  4.         int a, b, t;
  5.         scanf("%d%d", &a, &b);

  6.         a = a^b;
  7.         b = a^b;
  8.         a = a^b;

  9.         printf("%d %d\n", a, b);

  10.         return 0;
  11. }
复制代码


完。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马