Bah là je viens de découvrir un truc assez problématique en langage C:
Impossible de déclarer des variables lorsqu'on se trouve à l'interieur d'un switch.
Regarde ce code par exemple ne se compile pas:
- Code: Tout sélectionner
#include <stdio.h>
int main(){
int choix = 1;
switch(choix){
case 1:
printf("Ici ça marche.");
break;
case 2:
int a = 1;
break;
case 3:
printf("La aussi.");
break;
case 4:
printf("Car il n'y a pas de déclaration.");
break;
case 5:
printf("Par contre, le problème apparaît au choix n°2.");
break;
}
return(0);
}
Le compilateur dit:
- Code: Tout sélectionner
declaration_switch.c: Dans la fonction « main »:
declaration_switch.c:9: error: erreur de syntaxe before "int"
Alors ça c'est vraiement étrange je n'ai jamais lu ça sur mes livres de langage C et je n'ai rien trouvé en faisant un "google".
C'est vraiement dommage car ça pourrait simplifier mes programmes.
Tu connaissais ce problème? Tu connais une parade?
Thanx