return -1?
-
Hallo,
Ich habe das Codestück gesehen:
if (...)
{
...
return -1;
}Was macht die "return -1" Anweisung? Sowie ich weiss, mit "return" kann man nur
den Rückgabewert einer Funktion liefern.Danke
-
popup schrieb:
Was macht die "return -1" Anweisung? Sowie ich weiss, mit "return" kann man nur den Rückgabewert einer Funktion liefern.
Wo genau ist dein Problem? Die Funktion liefert halt -1 zurück.
-
Meistens wird -1 als Rückgabewert dafür verwendet, dass man sieht das etwas schiefgelaufen ist (muss aber nicht immer so sein!). Also könnte das hier bedeuten, dass mit der if-Anweisung vielleicht auf einen Fehler getestet wird, und wenn dieser Eintritt, dann liefert die Funktion -1 zurück, da sie z.B. nicht mehr richtig abgearbeitet werden kann.
-
Wird return in der main()-Funktion aufgerufen, so gibt diese den Rückgabewert an die Startup-Routine des Programms zurück, welche exit() aufruft und dann das Programm verlässt. Vielleicht lag hier das Verständnisproblem? Du musst dich schon mal konkretisieren!
-
Eine der typischen Defintion für Funktionen ist
int func(float a) { .... return 0; }
return 0; oder auch return (0); geschrieben
falls alles ok ist,alle anderen Werte bedeuten einen Fehler.
Somit hat man den gesamten Nummernberich von int als Fehlermeldung offen, und
kann so die unterschiedlichsten Fehler melden.oder schau dir die Funktion
int strcmp( const char *string1, const char *string2 );
an, diese vergleicht 2 Strings und liefert
als return Wert:Value Relationship of string1 to string2
< 0 string1 less than string2
0 string1 identical to string2
> 0 string1 greater than string2Da die main Funktion auch nur eine normale C-Funktion ist passiert hier das selbe, der Adressat für das Ergebnis ist aber das Betriebssystem. Somit kann man in Scriptdateien (Batchdateien) abfragen ob das Programm erflogreich
Retuncode =0 (Konvention) oder mit einem Fehler Returncode != 0 beendet wurde.