人間夜行

一切の有為の法 夢幻泡影の如し

交换两个变量的值

| 评论

要求:交换两个整数a和b的值。方法新奇好。

  1. 普通方法
    很好理解的,开一个临时变量。
    t=a;
    a=b;
    b=t;
    缺点,临时变量也要空间。
  2. 加了又减
    人工脑演就知道是对的。
    a=a+b;
    b=a-b;
    a=a-b;
    缺点:溢出怎么办?
  3. 位运算
    不信你就试试看。
    a^=b;
    b^=a;
    a^=b;
    缺点:也是位运算的普遍缺点。万一是负数怎么办?
  4. 指针法
    指针换一换,有时效率也挺高的。
    缺点:指针什么的最讨厌了。大家都懂的。
显然,以上方法各有利弊,大家根据自己需要选择。

评论