Popular Tutorials
Start Learning C++Certification Courses
Created with over a decade of experience and thousands of feedback.
Python online compiler
JavaScript online compiler
SQL online compiler
Java online compiler
HTML online compiler
C online compiler
C++ online compiler
C# online compiler
PHP online compiler
Swift online compiler
Kotlin online compiler
TypeScript online compiler
Go online compiler
Rust online compiler
Scala online compiler
Dart online compiler
R online compiler
Ruby online compiler
C++ Program to Swap Numbers in Cyclic Order Using Call by Reference
This program takes three integers from the user and swaps them in cyclic order using pointers.
To understand this example, you should have the knowledge of the following C++ programming topics:
Three variables entered by the user are stored in variables a, b and c respectively.
Then, these variables are passed to the function cyclicSwap(). Instead of passing the actual variables, addresses of these variables are passed.
When these variables are swapped in cyclic order in the cyclicSwap() function, variables a, b and c in the main function are also automatically swapped.
Example: Program to Swap Elements Using Call by Reference
#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;
}
Output
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
Notice that we haven't returned any values from the cyclicSwap() function.
Also Read:
Did you find this article helpful?