Ten program pobiera od użytkownika trzy liczby całkowite i zamienia je cyklicznie za pomocą wskaźników.
Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania w języku C ++:
- Wskaźniki C ++
- C ++ Call by Reference: Używanie wskaźników (z przykładami)
Trzy zmienne wprowadzone przez użytkownika są przechowywane odpowiednio w zmiennych a, b i c.
Następnie zmienne te są przekazywane do funkcji cyclicSwap()
. Zamiast przekazywania rzeczywistych zmiennych, przekazywane są adresy tych zmiennych.
Kiedy te zmienne są zamieniane cyklicznie w cyclicSwap()
funkcji, zmienne a, b i c w main
funkcji są również automatycznie zamieniane.
Przykład: Program do zamiany elementów za pomocą wywołania przez odniesienie
#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; )
Wynik
Wpisz odpowiednio wartość a, b i c: 1 2 3 Wartość przed zamianą: a = 1 b = 2 c = 3 Wartość po zamianie liczb w cyklu: a = 3 b = 1 c = 2
Zauważ, że nie zwróciliśmy żadnych wartości z cyclicSwap()
funkcji.