Return

return - słowo kluczowe; zwraca się za jego pomocą wartość funkcji.

Składnia


return zmienna


Wynik funkcji musi być tego samego typu co funkcja, czyli:

int funkcja()
{
  int a = 5;
  return a;
}


W przypadku próby zwrócenia wyniku innego typu niż funkcja kompilator zgłosi błąd:

int funkcja()
{
  char a[] = "abcdefg";
  return a; // powinien być zwrócony wynik typu int, więc kompilator pokaże błąd
}


Możliwe jest także zwrócenie wyniku w postaci innej niż zmienna, np.:

int funkcja()
{
  return 5;
}


Return przydaje się też do zakończenia wykonywania dowolnej procedury (funkcji, która zwraca void)

#include <iostream>

void sprawdz_wiek(int wiek)
{
  if (wiek < 18) return;

  // poniższa linijka zostanie tylko jeżeli wiek >= 18
  std::cout << "Witaj dorosły człowieku!" << std::endl;
}


Przykład


#include <iostream>

int dodaj(int a,b)
{
  int wynik = 0;
  wynik = a + b;
  return wynik;
}

int main()
{
  int wynik = 0;
  wynik = dodaj(2,3);
  std::cout << wynik << endl;
  return 0;
}


W sekcji głównej programu (main) zadeklarowaliśmy zmienną wynik, do której przypisalismy wynik działania funkcji dodaj. Skąd wiadomo jaką liczbę zwróci funkcja? Właśnie do tego słuźy funkcja return. To dzięki niej funkcja może dać wynik.
Informacje
Ostatnia modyfikacja 21-04-2006 16:03 Ostatni autor Coldpeer
Ilość wyświetleń 8142 Wersja 4
Komentarz
winerfresh dnia 15-12-2008 19:47
Marcin tylko że char to tak naprawdę typ liczbowy, który jest po prostu wyświetlany jako znak :P
Bo jak inaczej działało by to:

char znak = 'A';
if( znak == 65 )
 std::cout << "Znak jest też cyfrą!!!\n";
kaban_os dnia 20-06-2006 14:21
mógłby mi ktoś wytłumaczył o co chodzi z tym: "return - słowo kluczowe; zwraca się za jego pomocą wartość funkcji."
Dzięki z góry.

Mój e-mail to: Kaban_os@yahoo.com
marcinEc dnia 22-04-2006 14:34
2+
return nie tylko zwraca wartość:
void foo()
{
    //...
    return;
}

Można zwracać inny typ:
int foo()
{
    char val = 5;
    return val;
}
laki32 dnia 21-04-2006 16:22
Sory - to było pisane na informatyce jak nauczyciel nawijał o dyskach czy cuś. A ż i ź myliło mi sie bo pisałem to na MACu a tam sytuacja z polskimi literami wygląda troche inaczej ;)
Coldpeer dnia 21-04-2006 14:32
return to funkcja? :/ Po za tym fajnie jakbyś pisał nagłówki w <h2>, a nie <b> oraz nie mylił ż z ź :/

Copyright © 2000-2006 by Coyote Group 0.9.3-pre3
Czas generowania strony: 0.0309 sek. (zapytań SQL: 9)