Forum: Mikrocontroller und Digitale Elektronik Sub ohne return


von svan s. (svanschu)


Lesenswert?

Aloha,

ich hangel mich gerade durch eine Basic Datei für nen Atmega32 und bin 
mir grad nicht 100% sicher wie ich den Code interpretieren soll.

Normalerweise
Gosub subroutine

.
.
.

Sub subroutine
   ...
   return
End Sub

Somit springt man mit return zum Gosub aufruf zurück und macht dort 
weiter.

Jetzt hab ich hier eine Sub die kein return hat und einfach mit end sub 
endet. Danach kommt nur eine normale Sprungmarke (Tinter:) bei der ein 
return drinsteht. und danach nur noch weitere Subroutinen.

Subs werden ja nur ausgeführt wenn sie explizit aufgerufen werden.

Wenn die Sub jetzt ohne return endet, läuft sie dann nach unten weiter 
und würde in dem Fall die Sprungmarke Tinter abarbeiten oder trotzdem 
wieder nach Gosub springen. Oder hört das Ding dann einfach dort auf?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nein. "return" ist in einer Subroutine nur für den vorzeitigen Ausstieg 
nötig, sie kehrt immer zum korrespondierenden Gosub zurück.

Als letzte Anweisung in einer Subroutine ist "return" so überflüssig wie 
ein Kropf.

von svan s. (svanschu)


Lesenswert?

Danke dir für die schnelle Antwort. Ja der Code ist grauenhaft, daher 
wurd ich drauf angesetzt das Ding neu zu machen ^^

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.