001
05.04.2007, 12:50 Uhr
Blubber2063
|
Ganz einfach, weil ein Sprung der nicht innerhalb einer Funktion passiert(also aus der Funktion rausspringt), den Stack nicht aufräumt, d.h. seine Variablen nicht abräumt und im Zweifelsfall auch den Rückgabewert nicht an die richtige Stelle packt, das führt unter Umständen zu undefinierbarem Programmverhalten. Und sie kommen ja im Normalgebrauch nicht häufig vor, zumindest nicht direkt, dort sind sie vom Compiler verwaltet und erlauben ohne ein return kein verlassen der Subroutine. Davon abgesehen reichen die "normalen" Kontrollflusstrukuren eingentlich auch ohne explizite Sprungmarken und goto's zu arbeiten. |