![]()
Erreur avec l'instruction switch ![]()
![]()
![]()
![]()
![]()
Suivant: Erreur sur les tableaux Début: Le bêtisier Précédent: Erreurs avec les priorités
Paragraphes
Erreur avec l'instruction switch
Oubli du break
L'instruction de sélection a pour syntaxe : instruction-sélection :
switch ( expression ) instruction
La notion d'alternative de la sélection n'apparait 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.Erreur sur le default
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 ?
30/9/1997