Die Ausführungswahl
else /ɛls/ „sonst“
- Die Ausführungswahl (eine Möglichkeit der Syntaxbeschreibung)
.------------------------. .-''-. .-----------.
--->| if-Anweisung ohne else |--->( else )--->| Anweisung |--->
'------------------------' '-..-' '-----------'- Die Ausführungswahl (alternative Variante der Syntaxbeschreibung)
.--. .--. .----------. .--. .-----------. .-''-. .-----------.
--->( if )--->( ( )--->| Ausdruck |--->( ) )--->| Anweisung |--->( else )--->| Anweisung |--->
'--' '--' '----------' '--' '-----------' '-..-' '-----------'
Die Ausführungswahl wird auch if-Anweisung oder Verzweigung genannt. Ihr beiden Anweisungen bezeichnet man auch als Zweige dieser Anweisung.
Der Unterschied zur bedingten Anweisung besteht in der »else«-Klausel am Ende. (Eine x -Klausel ist ein Teil eines Programms, der durch das Schlüsselwort x eingeleitet wird.)
Wenn man von einer if-Anweisung spricht, kann sowohl eine bedingte Ausführung (ohne »else«) als auch eine Ausführungswahl (mit »else«) gemeint sein.
Die erste Anweisung wird unter denselben Umständen ausgeführt wie bei der if-Anweisung ohne »else«. Die Anweisung hinter »else« wird genau dann ausgeführt, wenn die Anweisung vor dem »else« nicht ausgeführt wurde.
main.c
#include <stdio.h> int main( void )
{ if( 0 )puts( "A" ); else puts( "B" );
if( -2 )puts( "C" ); else puts( "D" ); }stdout
B
Cmain.c
#include <stdio.h> void print_reciprocal( int const n )
{ if( n )printf( "%g\n", 1. / n ); else puts( "undefiniert." ); } int main( void )
{ print_reciprocal( 0 );
print_reciprocal( 1 );
print_reciprocal( 2 ); }stdout
undefiniert.
1
0.5