Funkcje 67
Program wraca do funkcji main(), do linii 13. Okazuje się, że wartości zmiennych nie są zamienione.
Jak widać, zmienne zostały przekazane do funkcji tylko przez wartość. Zostały stworzone ich lokalne kopie, i na tych kopiach były wykonywane wszelkie operacje. Były to lokalne zmienne funkcji Zamień (). Zamiana została dokonana tylko na kopiach i nie miała żadnego wpływu na wartości zmiennych w funkcji main ().
W dalszej części książki poznasz metody innego przekazywania zmiennych, powodującego zmianę wartości tych zmiennych.
Funkcje mogą zwracać albo jakąś wartość albo void. voxd to informacja dla kompilatora, że funkcja nie będzie zwracać wartości.
Żeby zwrócić wartość z funkcji, musisz użyć słowa kluczowego return, a następnie podać wartość, która ma zostać zwrócona. Równie dobrze może być to wyrażenie zwracające wartość. Oto przykłady:
return 5;
return (x > 5);
return (MojaFunkcjaO) ;
Wszystkie wymienione instrukcje są poprawne (oczywiście przy założeniu, że funkcja Moj aFunkcja () również zwraca wartość). Wartość zwrócona w drugiej linii, return (x > 5), będzie równa zero jeśli x będzie nie większe niż 5, w przeciwnym wypadku będzie równa 1. To co jest zwracane to wartość wyrażenia, 0 (fałsz) lub 1 (prawda), a nie wartość zmiennej x.
Po napotkaniu słowa kluczowego return wartość wymieniona po return jest zwracana jako wartość funkcji, a program wraca do funkcji wywołującej. Krótko mówiąc, instrukcja return, kończy wykonywanie danej funkcji.
W jednej funkcji można wielokrotnie wykorzystywać instrukcję return. Pamiętaj jednak, że wykonanie instrukcji return powoduje zakończenie funkcji. Listing 5.4. ilustruje ten mechanizm.
Listing 5.4. Wielokrotne użycie instrukcji return
1:
2:
3:
4:
5:
6:
7:
8:
9:
10
11
// Listing 5.4. - wielokrotne użycie // instrukcji return
#include <iostream.h>
int Podwajacz(int kwotaDoPodwojenia);
int main ()
{
int wynik = 0;
Program wraca do funkcji main(), do linii 13. Okazuje się, że wartości zmiennych nie są zamienione.
Jak widać, zmienne zostały przekazane do funkcji tylko przez wartość. Zostały stworzone ich lokalne kopie, i na tych kopiach były wykonywane wszelkie operację. Były to lokalne zmienne funkcji Zamień (). Zamiana została dokonana tylko na kopiach i nie miała żadnego wpływu na wartości zmiennych w funkcji main ().
W dalszej części książki poznasz metody innego przekazywania zmiennych, powodującego zmianę wartości tych zmiennych.
Funkcje mogą zwracać albo jakąś wartość albo void. void to informacja dla kompilatora, że funkcja nie będzie zwracać wartości.
Żeby zwrócić wartość z funkcji, musisz użyć słowa kluczowego return, a następnie podać wartość, która ma zostać zwrócona. Równie dobrze może być to wyrażenie zwracające wartość. Oto przykłady:
return 5;
return (x > 5);
return (Mo jaFunkc ja {)) ;
Wszystkie wymienione instrukcje są poprawne (oczywiście przy założeniu, że funkcja Mo jaFunkc ja () również zwraca wartość). Wartość zwrócona w drugiej linii, return (x > 5), będzie równa zero jeśli x będzie nie większe niż 5, w przeciwnym wypadku będzie równa 1. To co jest zwracane to wartość wyrażenia, 0 (fałsz) lub 1 (prawda), a nie wartość zmiennej x.
Po napotkaniu słowa kluczowego return wartość wymieniona po return jest zwracana jako wartość funkcji, a program wraca do funkcji wywołującej. Krótko mówiąc, instrukcja return, kończy wykonywanie danej funkcji.
W jednej funkcji można wielokrotnie wykorzystywać instrukcję return. Pamiętaj jednak, że wykonanie instrukcji return powoduje zakończenie funkcji. Listing 5.4. ilustruje ten mechanizm.
Listing 5.4. Wielokrotne użycie instrukcji return
1: // Listing 5.4. - wielokrotne użycie
2: // instrukcji return
3:
4: (tinclude <iostream.h>
5:
6: int Podwajacz(int kwotaDoPodwojenia);
7:
8: int main()
9: (
int wynik = 0; int wejście;
10 11 12 13