Dette programmet tar tre heltall fra brukeren og bytter dem i syklisk rekkefølge ved hjelp av pekere.
For å forstå dette eksemplet, bør du ha kunnskap om følgende C ++ programmeringsemner:
- C ++ pekere
- C ++ Call by Reference: Bruke pekere (med eksempler)
Tre variabler som er angitt av brukeren, er lagret i henholdsvis variablene a, b og c.
Deretter overføres disse variablene til funksjonen cyclicSwap()
. I stedet for å sende de faktiske variablene, sendes adressene til disse variablene.
Når disse variablene byttes i syklisk rekkefølge i cyclicSwap()
funksjonen, byttes også variabler a, b og c i main
funksjonen automatisk.
Eksempel: Program for å bytte elementer ved hjelp av samtale etter referanse
#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; )
Produksjon
Angi verdien av henholdsvis a, b og c: 1 2 3 Verdi før bytte: a = 1 b = 2 c = 3 Verdi etter bytte av tall i syklus: a = 3 b = 1 c = 2
Legg merke til at vi ikke har returnert noen verdier fra cyclicSwap()
funksjonen.