Tento program vezme od uživatele tři celá čísla a zamění je v cyklickém pořadí pomocí ukazatelů.
Abychom porozuměli tomuto příkladu, měli byste znát následující programovací témata C ++:
- Ukazatele C ++
- C ++ volání podle odkazu: Použití ukazatelů (s příklady)
Tři proměnné zadané uživatelem jsou uloženy v proměnných a, b ac.
Potom jsou tyto proměnné předány funkci cyclicSwap()
. Místo předávání skutečných proměnných jsou předávány adresy těchto proměnných.
Když jsou tyto proměnné ve cyclicSwap()
funkci zaměněny v cyklickém pořadí , proměnné a, b a c ve main
funkci jsou také automaticky zaměněny.
Příklad: Program pro výměnu prvků pomocí volání odkazem
#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; )
Výstup
Zadejte hodnotu a, b a c: 1 2 3 Hodnota před záměnou: a = 1 b = 2 c = 3 Hodnota po záměně čísel v cyklu: a = 3 b = 1 c = 2
Všimněte si, že jsme z cyclicSwap()
funkce nevrátili žádné hodnoty .