用户输入的三个变量分别存储在变量
a、
b和
c中。
然后,这些变量被传递给函数
cyclicSwap()
。不是传递实际变量,而是传递这些变量的地址。
当这些变量在
cyclicSwap()
函数中以循环顺序交换时,变量
a、
b 和
c
main 函数中的 var> 也会自动交换。
示例: 使用按引用调用交换元素的程序
#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; }
输出
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()
函数返回任何值。