vor einiger Zeit habe ich einen Code gelesen, wo ifs in einer bestimmten Art innerhalb eines switch-Statements verteilt waren. Nun weiss ich aber nicht mehr a) wie dieser Stil heisst, b) wie die Struktur aussieht oder c) ob es ueberhaupt C war.
Ich gehe mal von C aus und diesem Code (ja, die breaks sind ueberfluessig):
Code: Alles auswählen
int main(void) {
switch (3) {
if (0) {
case 1:
return 1;
break;
} else if (1) {
case 2:
return 2;
break;
} else if (0) {
case 3:
return 3;
break;
} else if (1) {
case 4:
return 4;
break;
}
default:
return 42;
break;
}
return 0;
}
Kommt jemandem dieser Aufbau bekannt vor und mag mir sagen, wie sich das nennt? Ich erinnere mich an die Beschreibung, es sei eigentlich ein Hack, aber nach POSIX (?) oder einem anderen Standard gefordert oder nicht explizit ausgeschlossen.
Wenn man nach "C switch if else Verschachtelung" (oder dem englischen Aequivalent) sucht, bekommt man haufenweise Grundlagen zu dem Thema, von C# ueber Perl nach C++. Wenn ich in den Kernel-Sourcen nach Zeilen mit if suche, die von case-Zeilen gefolgt werden, finde ich keine Strukturen dieser Art [1].
Gruss Cae
[1] off-topic: wie kann man gescheit nur innerhalb oder ausserhalb von Kommentaren in Code greppen?