Questo programma prende tre numeri interi dall'utente e li scambia in ordine ciclico usando i puntatori.
Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione C ++:
- Puntatori C ++
- Chiamata C ++ per riferimento: utilizzo di puntatori (con esempi)
Tre variabili inserite dall'utente vengono memorizzate rispettivamente nelle variabili a, b e c.
Quindi, queste variabili vengono passate alla funzione cyclicSwap()
. Invece di passare le variabili effettive, vengono passati gli indirizzi di queste variabili.
Quando queste variabili vengono scambiate in ordine ciclico nella cyclicSwap()
funzione, anche le variabili a, b e c nella main
funzione vengono scambiate automaticamente.
Esempio: programma per scambiare elementi utilizzando 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; )
Produzione
Immettere il valore di a, bec rispettivamente: 1 2 3 Valore prima dello scambio: a = 1 b = 2 c = 3 Valore dopo lo scambio di numeri nel ciclo: a = 3 b = 1 c = 2
Notare che non abbiamo restituito alcun valore dalla cyclicSwap()
funzione.