交换两个数

10 分钟

一杯可乐一杯雪碧想互换,得先倒进一个空杯子中转,不然一倒就混了。交换两个变量也一样,要借助第三个临时变量。

#include <iostream>
using namespace std;
int main() {
    int a = 3, b = 7;
    int t = a;   // 空杯子先接住 a
    a = b;       // b 倒进 a
    b = t;       // 空杯子里的旧 a 倒进 b
    cout << a << " " << b << endl; // 7 3
    return 0;
}

千万别直接写 a = b; b = a;。第一句就已经把 a 变成 b 了,第二句里的 a 早就不是原来的值,结果两个变量都成了 b,另一个值彻底丢了。

小纸条

为什么不能直接写 a=b 再 b=a?

登录 后可看答案

交换两个数 · C++ 入门 · op599 课程