🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# C++ 程序:使用引用调用以循环顺序交换数字 > 原文: [https://www.programiz.com/cpp-programming/examples/swapping-cyclic-order](https://www.programiz.com/cpp-programming/examples/swapping-cyclic-order) #### 该程序从用户那里获取三个整数,并使用指针以循环顺序交换它们。 要理解此示例,您应该了解以下 [C++ 编程](/cpp-programming "C++ tutorial")主题: * [C++ 指针](/cpp-programming/pointers) * [通过引用进行 C++ 调用:使用指针(带有示例)](/cpp-programming/pointers-function) * * * 用户输入的三个变量分别存储在变量`a`,`b`和`c`中。 然后,将这些变量传递给函数`cyclicSwap()`。 而不传递实际变量,而是传递这些变量的地址。 当这些变量在`cyclicSwap()`函数中以循环顺序交换时,在`main`函数中的变量`a`,`b`和`c`也将自动交换。 ## 示例:使用按引用调用交换元素的程序 ```cpp #include<iostream> using namespace std; void cyclicSwap(int *a, int *b, int *c); int main() { int a, b, c; cout << "Enter value of a, b and c respectively: "; cin >> a >> b >> c; cout << "Value before swapping: " << endl; cout << "a, b and c respectively are: " << a << ", " << b << ", " << c << endl; cyclicSwap(&a, &b, &c); cout << "Value after swapping numbers in cycle: " << endl; cout << "a, b and c respectively are: " << a << ", " << b << ", " << c << endl; return 0; } void cyclicSwap(int *a, int *b, int *c) { int temp; temp = *b; *b = *a; *a = *c; *c = temp; } ``` **输出** ```cpp Enter value of a, b and c respectively: 1 2 3 Value before swapping: a=1 b=2 c=3 Value after swapping numbers in cycle: a=3 b=1 c=2 ``` 注意,我们没有从`cyclicSwap()`函数返回任何值。