return 0; <-- warum?

Dieses Thema im Forum "Mac OS Entwickler, Programmierer" wurde erstellt von MalMAC, 22.11.2006.

  1. MalMAC

    MalMAC Thread Starter MacUser Mitglied

    Beiträge:
    1.256
    Zustimmungen:
    60
    Mitglied seit:
    22.06.2006
    Kann mir jemand erklären, was das genau bedeutet und warum man das braucht?
     
  2. mwhiegl

    mwhiegl MacUser Mitglied

    Beiträge:
    180
    Zustimmungen:
    1
    Mitglied seit:
    20.05.2006
    Damit wird von einer Funktion eine 0 zurückgegeben. =o)

    Das kann zum Beispiel sinnvoll sein um herauszufinden, ob alles durchgelaufen ist. Weiter meinen manche Programmierer, dass eine Funktion _immer_ etwas zurückgeben soll und deshalb auch wenn es theoretisch nicht notwendig ist dieses return 0; ans Ende setzen.
     
  3. below

    below MacUser Mitglied

    Beiträge:
    13.276
    Zustimmungen:
    1.086
    Mitglied seit:
    15.03.2004
    mwhiegl hat es ja schon grob erklärt, aber ohne Kontext ist diese Frage relativ sinnlos.

    Alex
     
  4. MalMAC

    MalMAC Thread Starter MacUser Mitglied

    Beiträge:
    1.256
    Zustimmungen:
    60
    Mitglied seit:
    22.06.2006
    return 0; stand bisher (bei den Porgrammen, die mir begegnet sind) immer als letztes da. Hab aus Spass mal return 1; gesetzt - dann hieß es, das das Programm nicht "normal" oder so ähnlich beendet worden ist.

    Wieso muß am Ende eines Programms eine Null zurückgegeben werden - ist das nicht Wurst, das Programm ist doch zu Ende, mhm?
     
  5. below

    below MacUser Mitglied

    Beiträge:
    13.276
    Zustimmungen:
    1.086
    Mitglied seit:
    15.03.2004
    Das Programm wird ja von "jemandem" oder "etwas" ausgeführt -- z.B. von der Shell.
    Und die möchte gerne wissen, ob alles OK war.

    Alex
     
  6. MalMAC

    MalMAC Thread Starter MacUser Mitglied

    Beiträge:
    1.256
    Zustimmungen:
    60
    Mitglied seit:
    22.06.2006
    ok, und die shell (ist die konsole oder?) - die ist dann zufrieden, wenn ich ihr eine Null zum Schluß gebe? bzw. wieso weiß die dann, daß alles ok war?

    Ich weiß, ich nerv euch mit trivialen Fragen - aber ich steige da noch nicht durch, vieln Dank für die geduldigen Antworten.:cake:
     
  7. below

    below MacUser Mitglied

    Beiträge:
    13.276
    Zustimmungen:
    1.086
    Mitglied seit:
    15.03.2004
    "The C Standard (ISO/IEC 9899:1999 (``ISO C99'')) defines the values 0, EXIT_SUCCESS, and EXIT_FAILURE as possible values of status."
    Alex
     
  8. wegus

    wegus MacUser Mitglied

    Beiträge:
    14.823
    Zustimmungen:
    1.424
    Mitglied seit:
    13.09.2004
    :jaja: genau !

    Weil es so definiert ist. Es wird ein Exit-Code zurückgegeben. 0 heißt alles o.k., alles Andere ist ein Fehler, ob ein Exit-Code ungleich 0 noch zusätzliche Information enthält ( etwa ob exit-Code 1 etwas anderes meint als Exit-Code 2) ist offen und kann frei festgelegt werden.

    Konsole ist übrigens die technische Umsetzung. Heute ist das ein Terminal-fenster, früher war das durchaus Hardware. Auf den Konsolen läuft dann immer eine Shell die die Benutzereinagben uns Systemausgaben behandelt. Daher spricht man meist eher von der Shell als der Konsole.
     
  9. MalMAC

    MalMAC Thread Starter MacUser Mitglied

    Beiträge:
    1.256
    Zustimmungen:
    60
    Mitglied seit:
    22.06.2006
    Vielen Dank - jetzt hab ich das verstanden.
     
  10. count von count

    count von count MacUser Mitglied

    Beiträge:
    700
    Zustimmungen:
    7
    Mitglied seit:
    02.06.2004
    Du kannst den Rückgabewert auch dafür verwenden bestimmte Abfragen zu machen, heisst, wenn du wissen möchtest, wo ein Fehler auftritt, dann kannst du verschiedene Werte zurückgeben lassen, um zu sehen, wo der fehler passiert.

    Viele nutzen nur 0 und 1, es ist aber keine Boolsche Variable, also kannst du den Return-Wert auch für deine jeweiligen Zwecke belegen.
     
Die Seite wird geladen...

Diese Seite empfehlen