Doch, auch ohne break ist ein case vollständig. Es ist Standard-C. Es wird eben mit dem Code des nächsten case weitergemacht, weil man keine Anweisung gegeben hat, mit dem switch aufzuhören.Zitat von hosti
Falls es gewünscht ist, beim nächsten case-Label weiterzumachen, so ist ein Kommentar sinnvoll wie
um explizit zu kennzeichnen, daß in case 1 kein break fehlt, sondern gewollt ist, daß es bei 2 weitergeht.Code:case 1: // FALLSTHRU case 2: ...
Sinnvoll ist das um Fälle übersichtlich zusammenzufassen und Codeduplizierungen zu vermeiden:
continue hat mit switch/case nicht zu tun. Es gehört semantisch zu einer Schleife, die switch/case umgibt. Ein continue ohne Schleide um's switch führt zu einem Fehler.Code:case 1: case 3: case 4: case 7: case 10: case 12: // mach was break; case 0: case 2: case 9: default: // mach was case 8: case 11: case 13: // mach was break;
Lesezeichen