Hallo, Am Dienstag, 02. Mai 2006, 20:37:20 +0200 schrieb Andreas Brillisauer: > eine Frage an die C-Programmierer unter euch: Es geht um Funktionen, die > durch Ihren Rückgabewert anzeigen, ob die Funktion erfolgreich > abgearbeitet wurde oder ob ein Fehler aufgetreten ist. Gibt es hier > einen Standard für den Rückgabewert? Ich habe schon folgende beiden > Varianten gesehen: > > * 0 bei Erfolg und 1 bei Fehler > * 1 bei Erfolg und 0 bei Fehler > > Die main-Funktion sollte zumindest unter Linux bei Erfolg 0 zurückgeben. > Dazu eignen sich die Konstanten EXIT_FAILURE und EXIT_SUCCESS aus > stdlib.h. Aber wie sieht es bei Funktionen innerhalb eines Programms > aus? Hier sind diese Konstanten meines Wissens nicht angebracht.
In C und C++ gelten 0 => false, alle anderen Zahlenwerte => true. So wird in `if' und `while' ausgewertet. Beispiel: int i; i=5; while (i) { ...; i--; } // macht ... 5 mal Shell-Befehle, also auch der Rückgabewert von `main()' fassen das Ergebnis genau andersherum auf. Mir persönlich gefällt das besser, denn eine Sache kann auf genau eine Art richtig sein, aber auf viele Arten falsch. Der Weg von C/C++ hat sicher auch seine Vorzüge, es lohnt sich aber nicht, darüber zu philosophieren, denn niemand denkt daran, etwas umzudefinieren. Bertram -- Bertram Scharpf Stuttgart, Deutschland/Germany http://www.bertram-scharpf.de -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)