编写程序交换两个数字而不使用第三个变量?

时间:2022-07-24
本文章向大家介绍编写程序交换两个数字而不使用第三个变量?,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

方法1((使用算术运算符):

#include <stdio.h>

 

int main()

{

  int a = 10, b = 5;

  // algo to swap 'a' and 'b'

  a = a + b;  // a becomes 15

  b = a - b;  // b becomes 10

  a = a - b;  // fonally a becomes 5

  printf("After Swapping the value of: a = %d, b = %dnn", a, b);

  return 0;

}

方法2(使用按位异或运算符):

#include <stdio.h>

 

int main()

{

  int a = 10, b = 5;

  // algo to swap 'a' and 'b'

  a = a ^ b;  // a becomes (a ^ b)

  b = a ^ b;  // b = (a ^ b ^ b), b becomes a

  a = a ^ b;  // a = (a ^ b ^ a), a becomes b

  printf("After Swapping the value of: a = %d, b = %dnn", a, b);

  return 0;

}