Acest program ia trei numere întregi de la utilizator și le schimbă în ordine ciclică folosind pointeri.
Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele următoarelor subiecte de programare C ++:
- Indicatori C ++
- Apel C ++ prin referință: folosirea pointerelor (cu exemple)
Trei variabile introduse de utilizator sunt stocate în variabilele a, b și respectiv c.
Apoi, aceste variabile sunt transmise funcției cyclicSwap()
. În loc să treacă variabilele reale, sunt transmise adresele acestor variabile.
Când aceste variabile sunt schimbate în ordine ciclică în cyclicSwap()
funcție, variabilele a, b și c din main
funcție sunt, de asemenea, schimbate automat.
Exemplu: Program pentru a schimba elemente folosind apel prin referință
#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; )
Ieșire
Introduceți valoarea a, b și c respectiv: 1 2 3 Valoare înainte de schimb: a = 1 b = 2 c = 3 Valoare după schimbarea numerelor din ciclu: a = 3 b = 1 c = 2
Observați că nu am returnat nicio valoare din cyclicSwap()
funcție.