Welche Endung wird ausgewählt, wenn (count+1) gleich 5 ist?
suffix = "th";
if und else
Wie das geschachtelte if funktioniert, wenn
(count+1) gleich 5 ist, sehen wir hier:
if ( count+1 == 2 ) <--- false: zum false-Zweig gehen suffix = "nd"; else if ( count+1 == 3 ) <--- false: zum inneren false-Zweig gehen suffix = "rd"; else suffix = "th"; <--- innerer false-Zweig wird ausgeführt
Wenn (count+1) größer oder gleich 4 ist, wird die Endung "th" ausgewählt werden.
Es ist manchmal schwierig zu sehen wie if und else in Programmen wie diesem zusammengehören. Geschweifte Klammern können verwendet werden, um zu zeigen welche zusammengehören. Aber lasst uns mit einer Regel beginnen, die nichts damit zu tun hat. Die Regel ist:
Wir beginnen mit dem erstenifund arbeiten uns abwärts. Jedeselsegehört zu dem nähesten vorausgehendenif, das keinelsehat. Einifgehört genau zu einemelseund einelsegehört genau zu einemif.
Wir sollten das Programm einrücken, um das zu zeigen. Aber denkt daran, dass der Compiler Einrücken ignoriert. Hier ist noch einmal das Programmfragment, das die zusammengehörigen if und else zeigt.
if ( count+1 == 2 ) suffix = "nd"; else if ( count+1 == 3 ) suffix = "rd"; else suffix = "th";
Die if und else eines zusammengehörenden Paares
sind Teil einer if-Anweisung. Zum Beispiel ist das oben stehende rote Paar Teil einer Anweisung, so dass die Grundstruktur des Programms folgendermaßen aussieht:
if ( count+1 == 2 ) suffix = "nd"; else Falsch-Zweig
Hier ist ein weiteres Beispiel.
Es ist nicht sauber eingerückt.
Wir benützen die Regel, um herauszubekommen welches else zu welchem if gehört.
if ( a == b ) if ( d == e ) gesamt = 0; else gesamt = gesamt + a; else gesamt = gesamt + b;
Welche if und else gehören zusammen?