66 Godzina 5
1: // Listing 5.3. - przekazywanie przez wartose
2:
3: finclude <iostream.h>
4:
5: void Zamień(int x, int y) ;
6:
7: int main()
8: {
9: int x = 5, y = 10;
10:
11: cout « "Main. Przed zamiana, x: " « x « " y: " « y «
k*"\n" ;
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
Zamień(x, y);
cout « "Main. Po zamianie, x: " « x « " y: " « y « "\n"; return 0;
void Zamień(int x, int y)
int temp;
cout « "Zamień. Przed zamiana, x: " « x « " y: " « y « fc*"\n";
temp = x; x = y; y = temp;
cout « "Zamień. Po zamianie, x: " « x « " y: " « y « '-*"\n";
Main. Przed zamiana, x: 5 y: 10 Zamień. Przed zamiana, x: 5 y: 10 Zamień. Po zamianie, x: 10 y: 5 Main. Po zamianie, x: 5 y: 10
Ten program, w funkcji main (), inicjalizuje dwie zmienne i przekazuje je do funkcji Zamień (), która teoretycznie je zamienia. Jednak po przetestowaniu wyniku w funkcji main () okazuje się, że nic się nie zmieniło!
Zmienne są inicjowane w linii 9 i wypisywane w linii 11. Następnie są przekazywane do funkcji Zamień ().
Program rozpoczyna wykonywanie funkcji Zamień (). W linii 21 zmienne są ponownie wypisywane na ekranie. Ich kolejność, tak jak należało oczekiwać, jest zgodna z kolejnością w funkcji main (). W liniach 23-25 wartości zmiennych są zamieniane. Efekt zamiany jest wypisywany w linii 27. W funkcji Zamień () wartości zmiennych zostały zamienione.
i
z
3
4
5
6
7
8
9
10 11
12
13
14
15
16
17
18
19
20 21
// Listing 5.3. - przekazywanie przez wartość
#include <iostream.h>
void Zamień(int x, int y);
int main()
int x = 5, y = 10;
cout « "Main. Przed zamiana, x: " « x « ” y: " « y « '•"\n" ;
Zamień(x, y);
cout « "Main. Po zamianie, x: " « x « " y; " « y « "\n"; return 0; i
void Zamień(int x, int y)
int temp;
cout « "Zamień. Przed zamiana, x: " « x « " y: " « y «
22:
23:
24:
25:
26:
27:
28:
29: }
temp = x;
* = y;
y = temp;
cout « "Zamień. Po zamianie, x: " « x « " y: " « y «
Main. Przed zamiana, x: 5 y: 10 Zamień. Przed zamiana, x: 5 y: 10 Zamień. Po zamianie, x: 10 y: 5 Main. Po zamianie, x: 5 y: 10
Ten program, w funkcji main (), inicjalizuje dwie zmienne i przekazuje je do funkcji Zamień (), która teoretycznie je zamienia. Jednak po przetestowaniu wyniku w funkcji main() okazuje się, że nic się nie zmieniło!
Zmienne są inicjowane w linii 9 i wypisywane w linii 11. Następnie są przekazywane do funkcji Zamień ().
Program rozpoczyna wykonywanie funkcji Zamień(). W linii 21 zmienne są ponownie wypisywane na ekranie. Ich kolejność, tak jak należało oczekiwać, jest zgodna z kolejnością w funkcji main (). W liniach 23-25 wartości zmiennych są zamieniane. Efekt zamiany jest wypisywany w linii 27. W funkcji Zamień () wartości zmiennych zostały zamienione.