Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

Vous n'avez pas encore de compte Developpez.com ? L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Developpez.com

C

Choisissez la catégorie, puis la rubrique :

next up previous contents index
Next: Erreur sur les tableaux Up: Le bêtisier Previous: Erreurs avec les priorités

Sous-sections

Erreur avec l'instruction switch

Oubli du break

L'instruction de sélection a pour syntaxe : instruction-sélection :
$\Rightarrow$ 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.

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 ?



Bernard Cassagne
1998-12-09
Contacter le responsable de la rubrique C

Partenaire : Hébergement Web