Return Statement notwendig?

 - (Computer, Programmieren, Informatik)

5 Antworten

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.

Woher ich das weiß:Beruf – Softwareentwickler & Admin

Wenn ich dann also am Ende noch einen return statement mache zählt der nicht?

0
@Pizzaliferant31

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

0
@Pizzaliferant31

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.

1

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.

Woher ich das weiß:Hobby

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.

Woher ich das weiß:Beruf – Financial Data Scientist @ Google (Cloud) [TensorFlow]

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?

0
@Pizzaliferant31

ein return Statement kann man nicht zählen lassen. Es wird ausgeführt. Oder es wird nicht ausgeführt. Wie jedes andere Statement auch.

0
@freejack75

Ja des mein ich auch.Wird der return statement am ende jetzt ausgefürt wenn ich noch einen hinmache?

0
@Pizzaliferant31

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...

0

Ist das eine rekursive Methode?

Woher ich das weiß:Studium / Ausbildung – Business Software

Sorry wir sind noch nicht so weit in Informatik.Was ist eine Rekursive Methode(Also rekursiv ist das was ich net verstehe)

0

Was möchtest Du wissen?