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 ?



Matthieu Moy 2017-02-08