Bonjour,
Comme écrit dans le titre, je voudrais savoir si l'instruction "switch" fonctionne avec des chaines de caractères.
Peut-on écrire :
switch(sens)
{ case "haut" : ... break;
case "bas" : ... break;
}
Merci d'avance.
Bonjour,
Comme écrit dans le titre, je voudrais savoir si l'instruction "switch" fonctionne avec des chaines de caractères.
Peut-on écrire :
switch(sens)
{ case "haut" : ... break;
case "bas" : ... break;
}
Merci d'avance.
Salut,
Non. L'instruction switch ne fonctionne qu'avec des types entiers (char, short, int et long). Pour réaliser ce que tu veux:
Thierry
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include <string.h> /* ... */ if (!strcmp(sens, "haut")) { /* traitements */ } else if (!strcmp(sens, "bas")) { /* traitements */ } else { /* cas par defaut */ }
"The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
"If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow
FAQ-Python FAQ-C FAQ-C++
+
Comme a dit mugicka, non. Par contre, si ta première lettre est unique pour chaque cas, tu peux toujours utiliser cette première lettre pour ton switch.Envoyé par skulled
Jc
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 switch(sens[0]) { case 'h': ... break; /*cas haut*/ case 'b': ... break; /* cas bas */ }
Ou bien, faire un truc plus bizarre encore, si tu as une bonne fonction de hachage pour laquelle chaque chaîne utilisée retourne une valeur différente...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager