Étant donné une simple instruction switch
switch (int)
{
case 1 :
{
printf("1\n");
break;
}
case 2 :
{
printf("2\n");
}
case 3 :
{
printf("3\n");
}
}
L'absence d'une instruction break dans le cas 2, implique que l'exécution se poursuivra à l'intérieur du code pour le cas 3. Ce n'est pas un accident; il a été conçu de cette façon. Pourquoi ces décisions ont-elles été prises? Quel avantage cela apporte-t-il par rapport à une sémantique de rupture automatique pour les blocs? Quelle était la justification?