原文: https://www.programiz.com/cpp-programming/examples/swapping

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

示例 1:交换数字(使用临时变量)

  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. int a = 5, b = 10, temp;
  6. cout << "Before swapping." << endl;
  7. cout << "a = " << a << ", b = " << b << endl;
  8. temp = a;
  9. a = b;
  10. b = temp;
  11. cout << "\nAfter swapping." << endl;
  12. cout << "a = " << a << ", b = " << b << endl;
  13. return 0;
  14. }

输出

  1. Before swapping.
  2. a = 5, b = 10
  3. After swapping.
  4. a = 10, b = 5

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

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

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

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


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

  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. int a = 5, b = 10;
  6. cout << "Before swapping." << endl;
  7. cout << "a = " << a << ", b = " << b << endl;
  8. a = a + b;
  9. b = a - b;
  10. a = a - b;
  11. cout << "\nAfter swapping." << endl;
  12. cout << "a = " << a << ", b = " << b << endl;
  13. return 0;
  14. }

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