# C++ 程序：交换两个数字

> 原文： [https://www.programiz.com/cpp-programming/examples/swapping](https://www.programiz.com/cpp-programming/examples/swapping)

#### 此示例包含两种不同的技术，可以在 C 编程中交换数字。 第一个程序使用临时变量交换数字，而第二个程序不使用临时变量。

## 示例 1：交换数字（使用临时变量）

```cpp
#include <iostream>
using namespace std;

int main()
{
    int a = 5, b = 10, temp;

    cout << "Before swapping." << endl;
    cout << "a = " << a << ", b = " << b << endl;

    temp = a;
    a = b;
    b = temp;

    cout << "\nAfter swapping." << endl;
    cout << "a = " << a << ", b = " << b << endl;

    return 0;
}
```

**输出**

```cpp
Before swapping.
a = 5, b = 10

After swapping.
a = 10, b = 5
```

为了在上面的示例中执行交换，使用了三个变量。

第一个变量的内容被复制到`temp`变量中。 然后，将第二个变量的内容复制到第一个变量。

最后，将`temp`变量的内容复制回第二个变量，从而完成交换过程。

您还可以仅使用两个变量来执行交换，如下所示。

* * *

## 示例 2：不使用临时变量来交换数字

```cpp
#include <iostream>
using namespace std;

int main()
{

    int a = 5, b = 10;

    cout << "Before swapping." << endl;
    cout << "a = " << a << ", b = " << b << endl;

    a = a + b;
    b = a - b;
    a = a - b;

    cout << "\nAfter swapping." << endl;
    cout << "a = " << a << ", b = " << b << endl;

    return 0;
}
```

该程序的输出与上面的第一个程序相同。