Dit programma neemt drie gehele getallen van de gebruiker en wisselt ze in cyclische volgorde met behulp van pointers.
Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende C ++ programmeeronderwerpen:
- C ++ -aanwijzers
- C ++ Call by Reference: gebruik van pointers (met voorbeelden)
Drie variabelen die door de gebruiker zijn ingevoerd, worden opgeslagen in respectievelijk de variabelen a, b en c.
Vervolgens worden deze variabelen doorgegeven aan de functie cyclicSwap()
. In plaats van de feitelijke variabelen door te geven, worden adressen van deze variabelen doorgegeven.
Wanneer deze variabelen in cyclische volgorde in de cyclicSwap()
functie worden verwisseld , worden de variabelen a, b en c in de main
functie ook automatisch verwisseld.
Voorbeeld: programma om elementen te wisselen met behulp van 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; )
Uitvoer
Voer de waarde van respectievelijk a, b en c in: 1 2 3 Waarde voor verwisseling: a = 1 b = 2 c = 3 Waarde na verwisseling van getallen in cyclus: a = 3 b = 1 c = 2
Merk op dat we geen waarden van de cyclicSwap()
functie hebben geretourneerd .