Тази програма взема три цели числа от потребителя и ги разменя в цикличен ред, използвайки указатели.
За да разберете този пример, трябва да имате познанията по следните теми за програмиране на C ++:
- C ++ указатели
- C ++ обаждане чрез справка: Използване на указатели (с примери)
Три променливи, въведени от потребителя, се съхраняват съответно в променливи a, b и c.
След това тези променливи се предават на функцията cyclicSwap(). Вместо да се предават действителните променливи, адресите на тези променливи се предават.
Когато тези променливи се разменят във цикличен ред във cyclicSwap()функцията, променливите a, b и c във mainфункцията също се разменят автоматично.
Пример: Програма за размяна на елементи, използвайки Call by Reference
#include using namespace std; void cyclicSwap(int *a, int *b, int *c); int main() ( int a, b, c; cout <> 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; )
Изход
Въведете стойност на a, b и c съответно: 1 2 3 Стойност преди размяна: a = 1 b = 2 c = 3 Стойност след размяна на числа в цикъл: a = 3 b = 1 c = 2
Забележете, че не сме върнали никакви стойности от cyclicSwap()функцията.








