Return Statement notwendig?
Kenzelt ein weiterer return statement die in der if Anweisung aus?(Also wenn ich true schreibe wird dann der false ausgekänzelt?)
5 Antworten
Was bedeutet "kenzeln"?
Ansonsten fehlt unten noch ein return (da, wo die Meldung auch steht). für den Fall, dass keine Bedingung zutreffend ist.
einfach noch ein return unten einfügen.
Ob es true oder false sein muss, hängt davon ab, wofür dieser boolean steht und was die Funktion genau macht.
Du musst das else entferne und das return statement nach dem if Block einfach darunter schreiben. Dann meckert der Compiler nicht mehr.
Generell gilt, statt einem else Block mit 2. Return Statement, immer das 2. return statement einfach unter den if-Block schreiben. Zudem muss jeder Fall abgedeckt sein, d.h wenn du nur if/elif Blöcke hast, dann musst du unter den letzten Block trotzdem noch ein return Statement schreiben, sonst sind nicht alle Fälle abgedeckt.
return legt nicht nur den Rückgabewert fest, sondern beendet auch gleichzeitig die Funktion. Alles, was nach dem return steht, wird daher nicht mehr ausgeführt. Wenn bei deinem Code noch irgendwas nach dem if stehen würde, würde das eben nie ausgeführt, weil du in beiden Zweigen des if die Funktion beendest.
Wenn du das nicht willst, definiere eine Variable (bool result), weise der jeweils das Ergebnis zu und mache nur ein "return result;" am Ende der Funktion.
Das kommst drauf an, ob du in jedem If-Zweig drüber (also vor dem sichtbaren else) auch schon ein Return drin hast. Wenn es einen Zweig gibt, der kein return hat, dann wrd das return am Ende ausgeführt.
Der Compiler sollte aber ne Warning "unreachable code" bringen, wenn du irgendwo anweisungen drin hast, die immer per return übersprungen werden
Ja ich hab in dem Zweig daruber return true
*false und true. Der Zweig ist genau so aufgebaut wie dieser
Schreib halt einfach drunter mal noch nen return rein. Wenn du da nie hinkommst, meckert der Compiler, dann ist es unnötig und kann weg. Wenn du nicht alle Zweige mit return hast, sollte eigentlich eine andere Warnung kommen, weil in einem Zweig der Rückgabewert undefiniert ist.
nein, wenn ein return Statement im Programmablauf ausgeführt wird, ist die Funktion an der Stelle zu Ende, und der dort angegebene Wert wird zurückgeliefert.
Und wie kann ich die in der If Anweisung dann zählen lassen?
ein return Statement kann man nicht zählen lassen. Es wird ausgeführt. Oder es wird nicht ausgeführt. Wie jedes andere Statement auch.
Ja des mein ich auch.Wird der return statement am ende jetzt ausgefürt wenn ich noch einen hinmache?
nein. Das erste return, auf das getroffen wird, wird ausgeführt. Dann ist die Funktion zu Ende. Habe ich jedoch glaube ich schon mal geschrieben...
Ist das eine rekursive Methode?
Sorry wir sind noch nicht so weit in Informatik.Was ist eine Rekursive Methode(Also rekursiv ist das was ich net verstehe)
Wenn ich dann also am Ende noch einen return statement mache zählt der nicht?