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
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
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?
#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
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[])
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) ).
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….
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).
14217100cookie-checkVerwendung der Funktion exit()yes
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 wieexit();
ist falsch, und unterlassen#include <stdlib.h>
ist falsch.– Wildpässer
23. Juni 2013 um 15:50 Uhr