Šī programma no lietotāja paņem trīs veselus skaitļus un maina tos cikliskā secībā, izmantojot rādītājus.
Lai saprastu šo piemēru, jums jāzina par šādām C ++ programmēšanas tēmām:
- C ++ rādītāji
- C ++ zvans pēc atsauces: rādītāju izmantošana (ar piemēriem)
Trīs lietotāja ievadītie mainīgie tiek glabāti attiecīgi mainīgajos a, b un c.
Tad šie mainīgie tiek nodoti funkcijai cyclicSwap()
. Faktisko mainīgo pārsūtīšanas vietā tiek nodotas šo mainīgo adreses.
Kad šie mainīgie cyclicSwap()
funkcijā tiek apmainīti cikliskā secībā , automātiski mainās arī funkcijas mainīgie a, b un c main
.
Piemērs: Programma elementu nomaiņai, izmantojot zvanu pēc atsauces
#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; )
Rezultāts
Ievadiet attiecīgi a, b un c vērtību: 1 2 3 Vērtība pirms maiņas: a = 1 b = 2 c = 3 Vērtība pēc ciparu maiņas ciklā: a = 3 b = 1 c = 2
Ievērojiet, ka mēs neesam atgriezuši nevienu cyclicSwap()
funkcijas vērtību .