return 0;



  • Hallo,

    wofür genau ist return 0; zuständig und wann brauche ich dies? Ich habe auch gelesen, dass man manchmal anstelle von return 0; auch eine variable, mit welcher man zuvor gearbeitet hat, 'returned'. Also z.B. return summe;

    Vielen Dank


  • Mod

    Weißt du, was eine Funktion ist? Funktionen haben oft einen Rückgabewert. Mit return beendet man den Ablauf einer Funktion und kann, falls die Funktion einen Rückgabewert hat, den Rückgabewert angeben. In diesem Fall 0.

    Das steht aber auch auf den ersten paar Seiten jeden C-Buchs erklärt.



  • SeppJ schrieb:

    Funktionen haben oft einen Rückgabewert.

    Funktionen können keinen Rückgabewert haben. Meintest du Rückgabetyp?


  • Mod

    boomerang schrieb:

    SeppJ schrieb:

    Funktionen haben oft einen Rückgabewert.

    Funktionen können keinen Rückgabewert haben. Meintest du Rückgabetyp?

    Nein. Wenn du Grammatiknazi spielen willst, dann solltest du besser wissen, wovon du redest.



  • was die beiden schnarchnasen über mir meinen ist das es oft notwendig ist das eine Funktion einen Konkreten Wert zurück gibt. Da Main nichts weiter ist als die Start funktition wird häufig die syntax:

    int main(void){
     ...
     return 0;
    }
    

    verwendet damit ist der Rückgabewert 0. du hättest genauso gut

    void main(void){...
    
    }
    

    verwenden können dann fällt der Rückgabewert flach.
    der Rückgabewert der Mainfunktion dient häufig als Abbruchsbeschreibung.

    Wenn du einen anden Wertetypen zurückgeben willst wäre auch ein

    bool main(void){
      ...
      return true;
    }
    

    möglich oder ein

    double main(void){
      ...
      return 1.0
    }
    

    ein recht übliches Konstrukt ist das folgende:

    bool foo(void){
     if(...) return true;
     else return false;
    }
    
    int main(void){
       if(foo()){
              ...}
       ...
    return 0;
    }
    

    hier wird der Rückgabewert direkt in dem if statement der Main funktion verwurstet und führt zu einem auf ruf wenn foo wahr ist.



  • falls du das return 0; in main meinst das ist der return-code des Programmes

    kann man auswerten falls man die Exe von einem anderen Programm oder aus eine Batch-Datei startet(ErrorLevel)



  • Der C-Standard deckt für main nur int als Rückgabewert.

    https://www.c-plusplus.net/forum/39346


Anmelden zum Antworten