Return

laki32

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

Składnia

```cpp 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

```cpp #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 (<b>main</b>) zadeklarowaliśmy zmienną <b>wynik</b>, do której przypisalismy wynik działania funkcji <b>dodaj</b>. Skąd wiadomo jaką liczbę zwróci funkcja? Właśnie do tego słuźy funkcja <b>return</b>. To dzięki niej funkcja może dać wynik.

6 komentarzy

A co może oznaczać taki zapis:

return x<=10;

Nigdzie nie znalazłem wytłumaczenia

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";

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: [email protected]

2+
return nie tylko zwraca wartość:
void foo()
{
//...
return;
}

Można zwracać inny typ:
int foo()
{
char val = 5;
return val;
}

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 ;)

return to funkcja? :/ Po za tym fajnie jakbyś pisał nagłówki w

, a nie <b> oraz nie mylił ż z ź :/</p>