Verwendung der Funktion exit()

Lesezeit: 4 Minuten

Benutzeravatar von Kraken
Krake

Ich möchte wissen, wie und wann ich die verwenden kann exit() funktionieren wie das Programm in meinem Buch:

#include<stdio.h>

void main()
{
    int goals;
    printf("enter number of goals scored");
    scanf("%d",&goals);

    if(goals<=5)
        goto sos;
    else
    {
        printf("hehe");
        exit( );
    }
    sos:
    printf("to err is human");
}

Wenn ich es starte, zeigt es ERROR: Aufruf der undefinierten Funktion exit().

Außerdem möchte ich wissen, wie ich eine Option zum Schließen des Fensters erstellen kann, in dem das Programm ausgeführt wird. Zum Beispiel habe ich ein menügesteuertes Programm erstellt, das mehrere Optionen hatte und eine davon war “Menü verlassen”. Wie kann ich das Programm beenden (dh das Fenster schließen)?

  • Wenn Sie Antworten wünschen, formatieren Sie Ihren Code und Ihre Frage so, dass andere ihn lesen können. UND SCHREIEN SIE NICHT!

    anon

    11. März 2010 um 13:22 Uhr

  • Das Codeformat ist eine Sache, aber das ist schlecht geschrieben. Sie wollen keine Antworten, die so aussehen, oder?

    – Köbi

    11. März 2010 um 13:24 Uhr

  • ey! gotos und beenden? Meine Augen! Sie brennen!

    – Kyle

    11. März 2010 um 13:33 Uhr

  • Ich bin weder C-Experte noch kann ich es ohne Schwierigkeiten schreiben, also kann ich mich in dieser Hinsicht irren … aber darf ich vorschlagen, dass Sie dieses Buch wegwerfen? Die Verwendung von goto in C ist wie … wie … ich weiß nicht. Und wenn Sie mich jetzt entschuldigen, sie haben herausgefunden, wie man Türen öffnet *versteckt.in.der.Küche*…

    – Bobbi

    11. März 2010 um 13:35 Uhr


  • Nun, goto ist immer noch eine gültige Syntax in C. Sie kann abgelehnt werden stilistisch aber es ist immer noch gültig. void main() OTOH ist gerecht schlichtweg falsch. Genauso wie exit(); ist falsch, und unterlassen #include <stdlib.h> ist falsch.

    – Wildpässer

    23. Juni 2013 um 15:50 Uhr

Benutzeravatar von Klaus Byskov Pedersen
Klaus Byskov Pedersen

Versuchen Sie es mit exit(0); stattdessen. Das exit Die Funktion erwartet einen ganzzahligen Parameter. Und nicht vergessen #include <stdlib.h>.

  • Das Manpage sagt “` Die Verwendung von EXIT_SUCCESS und EXIT_FAILURE ist etwas besser übertragbar (in Nicht-UNIX-Umgebungen) als die Verwendung von 0 und einigen Nicht-Null-Werten wie 1 oder -1. `”

    – Mawg sagt, Monica wieder einzusetzen

    16. Mai 2019 um 8:35 Uhr

Benutzeravatar von Tyler McHenry
Tyler McHenry

Das exit Die Funktion ist im stdlib-Header deklariert, also müssen Sie sie haben

#include <stdlib.h>

oben in Ihrem Programm, um es verwenden zu können exit.

Beachten Sie auch das exit nimmt ein ganzzahliges Argument, also können Sie es nicht wie nennen exit()müssen Sie als anrufen exit(0) oder exit(42). 0 bedeutet normalerweise, dass Ihr Programm erfolgreich abgeschlossen wurde, und Werte ungleich Null werden als Fehlercodes verwendet.

Es gibt auch vordefinierte Makros EXIT_SUCCESS und EXIT_FAILUREz.B exit(EXIT_SUCCESS);

  • +1, um das nicht nur zu erwähnen exit nimmt ein ganzzahliges Argument, aber erklärt, warum es ein ganzzahliges Argument braucht und dass einige Compiler das explizite verlangen #include <stdlib.h>.

    – Variadizismus

    9. Oktober 2015 um 18:00 Uhr

  • Die erwähnten vordefinierten Makros werden zur Kompilierzeit definiert, oder?

    – carloswm85

    10. August 2018 um 17:12 Uhr

Benutzeravatar von Bertrand Marron
Bertrand Maron

Versuchen mann ausgang.


Oh und:

#include <stdlib.h>

int main(void) {
  /*  ...  */
  if (error_occured) {
    return (EXIT_FAILURE);
  }
  /*  ...  */
  return (EXIT_SUCCESS);
}

  • Genauer gesagt, versuchen Sie “man 2 exit” von einer Konsole aus. Die c-Dokumente sind ziemlich detailliert.

    – Justin Killen

    13. April 2015 um 21:25 Uhr


  • Richtig, du bist @Bertrand Marron

    – Justin Killen

    23. Mai 2017 um 2:53 Uhr


Benutzeravatar von Morfildur
Morfildur

exit(int code); deklariert ist stdlib.h also brauchst du ein

#include <stdlib.h>

Ebenfalls:
– Sie haben keinen Parameter für die exit()es erfordert ein int also biete einen an.
– Brennen Sie dieses Buch, es verwendet goto was (für alle außer Linux-Kernel-Hacker) schlecht, sehr, sehrSehr schlecht.

Bearbeiten:
Oh und

void main()

ist auch schlecht, es ist:

int main(int argc, char *argv[])

Benutzeravatar von Nataraj Raja
Nataraj Raja

Das exit() Funktion ist ein Funktionstyp mit einem Rückgabetyp ohne Argument. Es wird durch die Header-Datei stdlib definiert.

Sie müssen verwenden ( exit(0) or exit(EXIT_SUCCESS)) oder (exit(non-zero) oder exit(EXIT_FAILURE) ).

Benutzeravatar von slayer
Jägerin

Das folgende Beispiel zeigt die Verwendung der exit() Funktion.

#include <stdio.h>
#include <stdlib.h>

int main(void) {
    printf("Start of the program....\n");
    printf("Exiting the program....\n");
    exit(0);
    printf("End of the program....\n");
    return 0;
}

Ausgabe

Beginn des Programms….
Beenden des Programms….

Benutzeravatar von Peter Mortensen
Peter Mortensen

Sie müssen eine Zeile mit hinzufügen #include <stdlib.h> um diese Header-Datei einzuschließen und exit muss einen Wert zurückgeben, also weisen Sie eine Ganzzahl zu exit(any_integer).

1421710cookie-checkVerwendung der Funktion exit()

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy