SWITCH |
Échangeur |
---|---|
ISO C99 |
Syntaxe
statement := switch ( condition ) statement condition ::= expression | type-specifier-seq declarator = assignment-expr |
Paramètres
Nom | Description |
---|---|
condition | Ce paramètre permet d'indiquer la condition d'évaluation |
statement | Ce paramètre permet d'indiquer les instructions. |
Description
Ce mot réservé permet d'effectuer des testes de cas. Ainsi, vous pouvez tester plusieurs différentes valeurs avec une seule et même condition. Dans cette situation, il s'agit donc d'une utilisation beaucoup plus claire et compréhensible qu'une série d'instruction if.
Remarques
- Il est obligatoire de mettre la condition d'évaluation du switch entre parenthèse.
- ATTENTION ! Si vous mettez point-virgule «;» immédiatement après la fermeture de parenthèse de la condition, aucune évaluation de cas ne sera effectué et aucun message d'erreur ou d'attention ne sera retourné. D'autres compilateur C retournerons des messages étranges comme ceci :
- Il n'est pas obligatoire de mettre un cas «default» dans votre «switch» cependant, elle est fortement recommandé afin de traiter par exemple un cas d'exception ou une situation anormale. En aucun cas, l'omission de «default» n'empêchera de terminer l'évaluation des cas, si vous rencontrez ce genre de problème, c'est qu'il y a une boucle infini à l'intérieur même d'un de vos cas.
- Vous pouvez utilisez uniquement un mot réservé return plutôt qu'un «return;break;» dans une instruction switch pour un retour de fonction et une terminaison de l'instruction switch.
error: case label not within a switch statement error: break statement not within loop or switch |
Exemple
Cet exemple permet d'évaluer la valeur de la variable «a» :
Essayer maintenant !
- #include <stdio.h>
- #include <stdlib.h>
-
- int main()
- {
- int a = 2;
- switch(a) {
- case 1:case 2:case 3:
- printf("Entre 1 et 3\n");
- break;
- case 4:case 5:case 6:
- printf("Entre 4 et 6\n");
- break;
- case 7:
- printf("C'est 7\n");
- break;
- default:
- printf("Inférieur ou égale à 0 ou supérieur à 8\n");
- break;
- }
- return 0;
- }
on obtiendra le résultat suivant :
Entre 1 et 3Voir également
Langage de programmation - C - Références de mots réservés (mots clefs) - break
Langage de programmation - C - Références de mots réservés (mots clefs) - case
Langage de programmation - C - Références de mots réservés (mots clefs) - default
Langage de programmation - C - Références de mots réservés (mots clefs) - if
Dernière mise à jour : Mardi, le 28 juillet 2015