参数交换实现的3种方法

1,引入第三个参数

  1 #include<stdio.h>
  2 int main()
  3 {
  4     int i = 1,j = 2;
  5     int tmp;
  6 
  7     tmp = i;
  8     i = j;
  9     j = tmp;
 10     printf("%d %d\n", i, j);
 11 }

2,加减法

 1 #include<stdio.h>
  2 #define swap(x, y) x=x+y,y=x-y,x=x-y
  3 
  4 int main()
  5 {
  6     int a = 5,b = 4;
  7     swap(a, b);
  8     printf("%d %d\n", a,b);
  9 
 10 }

核心是x = x + y;   y = x - y; x = x - y;

3,位操作异或(二进制使用)

x = 1100, y = 0011;

x = x^y;

y = x^y;

x = x^y;

Final,x = 0011,y = 1100。


猜你喜欢

转载自blog.csdn.net/rocky_56x/article/details/79241069