Czy konieczne jest zwrócenie 0 w programie? Dlaczego?


Najlepsza odpowiedź

return 0 . Tak! To zawsze mi przeszkadzało. Ale później po dogłębnej nauce i praktyce. Zdałem sobie sprawę, jak to jest przydatne.

Funkcje mają parametry (lub argumenty). Więc te parametry mają mieć jakąś wartość. Są one następnie zwracane z powrotem do programu, z którego dzwoniłeś. Wiersz, w którym wspominasz o tej instrukcji return, natychmiast zwraca wartość wymienionej wraz z nią zmiennej. Np .: return a;

Czasami nie jest konieczne zwracanie wartości. Może musimy wrócić do programu z funkcji tylko bez zwracania żadnej wartości. W takim przypadku potrzebujemy zwrócić 0; oznacza to, że zwracamy 0 lub wartość NULL.

Podstawowe dane typy takie jak int, char, float itp. wymagają zwrotu 0 instrukcji na końcu, aby powrócić do programu (lub zakończ program), jeśli nie zwracasz żadnej wartości. Ale inny podstawowy typ danych void nie wymaga. Ta wartość zwraca domyślną wartość 0. Sama nazwa sugeruje, void oznacza puste .

Mam nadzieję, że zrozumiałeś. Kontynuuj ćwiczenie i odkrywanie. Zrozumiesz wszystko.

Odpowiedź

int , ponieważ pojawia się przed nazwą funkcji

main , określa typ danych wartości zwracanej przez funkcję. Główna funkcja powinna zawsze zwracać int.

W środowiskach, które mają system operacyjny (OS), system operacyjny uruchamia program. Liczba całkowita zwrócona z main umożliwia programowi przekazanie wartości do systemu operacyjnego wskazującej, czy program się powiódł, zawiódł lub wygenerował jakiś wynik liczbowy. System operacyjny (lub plik wsadowy lub skrypt, który był używany w systemie operacyjnym do uruchomienia programu) może spojrzeć na tę wartość całkowitą i podjąć pewne decyzje w tej sprawie. Chociaż zwracana liczba całkowita może być dowolną wartością, istnieje zestaw konwencji, których używa większość (ale nie wszystkie) programów:

  • Zwracana jest wartość zerowa wskazująca, że ​​nie wystąpił błąd. (Zarówno nagłówek cstdlib C ++, jak i plik nagłówkowy stdlib.h C definiują w tym celu symbol EXIT\_SUCCESS. Chociaż jego wartość jest zdefiniowana w implementacji, w praktyce jest to zwykle 0.) Dlatego często pojawia się zwrot 0; instrukcja na końcu funkcji głównej. Wysyła wartość całkowitą 0 z powrotem do systemu operacyjnego, wskazując, że program się powiódł.
  • Wartość niezerowa jest zwracana w celu wskazania wystąpienia błędu i / lub podania określonej wartości wyniku.
  • Wartości ujemne są często używane do wskazania, że ​​wystąpił błąd. Na przykład -1 może być użyte do wskazania, że ​​wystąpił błąd, lub określona wartość ujemna może wskazywać, że wystąpił określony typ błędu.
  • Wartości dodatnie są czasami używane do wskazania, że ​​wystąpił błąd. Na przykład 1 może służyć do wskazania, że ​​wystąpił błąd, lub określona wartość dodatnia może wskazywać, że wystąpił określony typ błędu. (Zarówno nagłówek cstdlib C ++, jak i plik nagłówkowy stdlib.h C definiują w tym celu symbol EXIT\_FAILURE. Chociaż jego wartość jest zdefiniowana w ramach implementacji, w praktyce zwykle jest to 1.)
  • Czasami używane są wartości dodatnie dać wynik. Na przykład program zliczający słowa może zwracać dodatnią wartość reprezentującą liczbę policzonych słów. Program do porównywania plików tekstowych może zwrócić liczbę napotkanych różnic.

Ponownie, znaczenie zwracanej wartości jest po prostu konwencją. Program C i dowolny plik wsadowy, skrypt itp. W systemie operacyjnym, który uruchamia program, muszą uzgodnić znaczenie zwracanej wartości.

Do Twojej głównej funkcji należy wybór tego, co wartość całkowita powinna zostać zwrócona do systemu operacyjnego. (W środowiskach bez systemu operacyjnego to, co dzieje się ze zwracaną liczbą całkowitą, jest zależne od implementacji, więc zapoznaj się ze szczegółami w dokumentacji). Należy udokumentować użytkownikom swojego programu, jakie konkretne wartości mogą być zwracane przez main i co one oznaczają.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *