Dette program tager tre heltal fra brugeren og bytter dem i cyklisk rækkefølge ved hjælp af markører.
For at forstå dette eksempel skal du have kendskab til følgende C ++ programmeringsemner:
- C ++ markører
- C ++ Opkald via reference: Brug af markører (med eksempler)
Tre variabler, der er indtastet af brugeren, er gemt i henholdsvis variablerne a, b og c.
Derefter overføres disse variabler til funktionen cyclicSwap()
. I stedet for at videregive de faktiske variabler sendes adresser på disse variabler.
Når disse variabler byttes i cyklisk rækkefølge i cyclicSwap()
funktionen, byttes variablerne a, b og c også i main
funktionen automatisk.
Eksempel: Program til at bytte elementer ved hjælp af opkald ved 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; )
Produktion
Indtast værdien for henholdsvis a, b og c: 1 2 3 Værdi før bytte: a = 1 b = 2 c = 3 Værdi efter bytte af tal i cyklus: a = 3 b = 1 c = 2
Bemærk, at vi ikke har returneret nogen værdier fra cyclicSwap()
funktionen.