Next: Erreur sur les tableaux
Up: Le bêtisier
Previous: Erreurs avec les priorités
Sous-sections
L'instruction de sélection a pour syntaxe :
instruction-sélection :
switch (
expression
)
instruction
La notion d'alternative de la sélection n'apparaît pas dans la syntaxe : le
programmeur doit les réaliser par une liste d'instruction étiquettée
par
case expression-constante et terminée par
break.
En cas d'oubli du
break, une catastrophe s'ensuit.
L'alternative à exécuter par défaut est introduite par l'étiquette
default.
Si une faute de frappe est commise sur cette étiquette, l'alternative
par défaut ne sera plus reconnue : l'étiquette sera prise pour une
étiquette d'instruction sur laquelle ne sera fait aucun
goto.
switch(a)
{
case 1 : a = b;
defult : return(1); /* erreur non détectée */
}
Une version diabolique de cette erreur est relatée dans le livre de Peter
Van Der Linden : si la lettre l de default est remplacée par le
chiffre 1, avec les fontes utilisées pour imprimer les sources, qui verra la
différence entre l et 1 ?
Bernard Cassagne
1998-12-09