lang:c:condition
if
Condition classique
if () { plusieurs instructions; } else if () une instruction; else une instruction;
Attention aux else
s'il y a des if
imbriqués :
if () if () une instruction; else // Ici, l'indentation est mauvaise car le else correspond au second if. une instruction;
switch
Cas courant
Les switch
/case
agissent comment des goto
. Il faut donc mettre un break pour éviter de passer à l'instruction suivante.
int i = 0; switch (i) { case 0: i = 2; // Sans break, l'instruction i = 3 sera exécutée. // break; case 1: i = 3; break; // Plusieurs conditions pour une même exécution de code. case 2: default: break; }
Les variables déclarées dans un case
sont accessibles depuis les case
suivants.
int k = 1; switch (k) { case 0: // Impossible car si k == 1, l'instruction i = 0 n'est pas exécutée. // int i = 0; int i; // Possible car pas d'initialisation. break; case 1: { int j = 3; break; } case 2: default: i = 123; // j = 15; // Impossible car en dehors du bloc de déclaration de j. break; }
lang/c/condition.txt · Dernière modification : 2020/02/17 10:02 de root