Tämä ohjelma ottaa käyttäjältä kolme kokonaislukua ja vaihtaa ne syklisessä järjestyksessä osoittimien avulla.
Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista C ++ -ohjelmointiaiheista:
- C ++ osoittimet
- C ++ Soita viitteenä: osoittimien käyttäminen (esimerkkien kanssa)
Kolme käyttäjän syöttämää muuttujaa tallennetaan muuttujiin a, b ja c vastaavasti.
Sitten nämä muuttujat välitetään funktiolle cyclicSwap()
. Todellisten muuttujien välittämisen sijasta näiden muuttujien osoitteet välitetään.
Kun nämä muuttujat vaihdetaan syklisessä järjestyksessä cyclicSwap()
funktiossa, myös funktion muuttujat a, b ja c main
vaihdetaan automaattisesti.
Esimerkki: Ohjaa elementtien vaihto käyttämällä kutsua viitteellä
#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; )
Tuotos
Anna arvo a, b ja c vastaavasti: 1 2 3 Arvo ennen vaihtamista: a = 1 b = 2 c = 3 Arvo syklin numeroiden vaihdon jälkeen: a = 3 b = 1 c = 2
Huomaa, että emme ole palauttaneet cyclicSwap()
funktion arvoja .