Benutzerdefinierte Suche

return 0; <-- warum?

  1. MalMAC

    MalMAC Thread StarterMacUser Mitglied

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

    mwhieglMacUser Mitglied

    Mitglied seit:
    20.05.2006
    Beiträge:
    180
    Zustimmungen:
    1
    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.
     
    mwhiegl, 22.11.2006
  3. below

    belowMacUser Mitglied

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

    Alex
     
    below, 22.11.2006
  4. MalMAC

    MalMAC Thread StarterMacUser Mitglied

    Mitglied seit:
    22.06.2006
    Beiträge:
    1.256
    Zustimmungen:
    60
    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?
     
    MalMAC, 22.11.2006
  5. below

    belowMacUser Mitglied

    Mitglied seit:
    15.03.2004
    Beiträge:
    13.289
    Zustimmungen:
    1.086
    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
     
    below, 22.11.2006
  6. MalMAC

    MalMAC Thread StarterMacUser Mitglied

    Mitglied seit:
    22.06.2006
    Beiträge:
    1.256
    Zustimmungen:
    60
    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:
     
    MalMAC, 22.11.2006
  7. below

    belowMacUser Mitglied

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

    wegusMacUser Mitglied

    Mitglied seit:
    13.09.2004
    Beiträge:
    14.982
    Zustimmungen:
    1.545
    :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.
     
    wegus, 22.11.2006
  9. MalMAC

    MalMAC Thread StarterMacUser Mitglied

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

    count von countMacUser Mitglied

    Mitglied seit:
    02.06.2004
    Beiträge:
    700
    Zustimmungen:
    7
    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.
     
    count von count, 22.11.2006
Die Seite wird geladen...