06.08.2013 Aufrufe

PDF-Datei (ca. 1 MByte)

PDF-Datei (ca. 1 MByte)

PDF-Datei (ca. 1 MByte)

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

11.3. DEFINITION BOOLESCHER FUNKTIONEN 123<br />

}<br />

{<br />

}<br />

rechts_um();<br />

return false;<br />

void rechts_um()<br />

{<br />

links_um(); links_um(); links_um();<br />

}<br />

Die folgende Funktionsde nition ist dahingegen fehlerhaft, denn bei der Ausfuhrung des else-<br />

Teils der if-Anweisung endet die Funktion, ohne da eine boolesche return-Anweisung ausgefuhrt<br />

worden ist:<br />

boolean nichts_geht_mehr()<br />

{<br />

if (vorn_frei)<br />

{<br />

vor();<br />

return false;<br />

}<br />

else<br />

{<br />

links_um();<br />

}<br />

}<br />

Im allgemeinen entdeckt der Compiler derartige Fehler und gibt Fehlermeldungen bzw. Warnungen<br />

aus. Wir werden jedoch in Kapitel 13 Falle kennenlernen, wo der Compiler derartige Fehler<br />

nicht erkennen kann. Daraus resultieren dann spezielle Laufzeitfehler.<br />

Was der Compiler auch nicht " mag\, sind Anweisungen innerhalb von Funktionsrumpfen, die<br />

gar nicht erreicht werden konnen, weil die Funktion auf jeden Fall vorher verlassen wird. Schauen<br />

Sie sich folgendes Beispiel an:<br />

boolean hinten_frei()<br />

{<br />

links_um();<br />

links_um();<br />

if (vorn_frei())<br />

{<br />

return true;<br />

}<br />

else<br />

{<br />

return false;

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!