4.9. Les opérateurs d'incrémentation et de décrémentation ++ ‐‐

Icône de l'outil pédagogique Les opérateurs d'incrémentation et de décrémentation ++ ‐‐

Ces opérateurs sont réservés aux entiers.

Deux opérations d'affectation courantes du type : i=i+1 (« incrémentation ») et j=j‐1 (« décrémentation ») peuvent être remplacées par l'emploi des opérateurs d'incrémentation et de décrémentation ++ et ‐‐. On écrira alors :

 

i++ incrémente la variable i de 1
j‐‐ décrémente la variable j de 1

Les opérateurs ++ et ‐‐ peuvent se placer avant ou après leur opérande, mais la valeur de l'expression obtenue (si elle est utilisée) n'est alors pas la même. Ainsi :

i++ incrémente la variable i de 1 → l'expression vaut la valeur de i avant incrémentation.
++i incrémente la variable i de 1 → l'expression vaut la valeur de i après incrémentation.

Ainsi, si x=5, alors :
y=x++ ; est équivalent à y=x; suivi de x++; donc y vaut 5 et x=6 à la fin de l'exécution de l'instruction.
y=++x ; est équivalent à x++; suivi de y=x; donc y vaut 6 et x=6 à la fin de l'exécution de l'instruction.

Exemple 20 : Incrémentation et décrémentation

nb_trouv++ ; utilisation la plus courante : l’incrémentation est seule sur sa ligne.
for (i=10 ; i>0 ; i‐‐ ) … ++ et – sont très utilisés avec la boucle for.

Comme exercice, prévoir les résultats de ces deux programmes :


ne pas abuser des ++ et -- au milieu d'expressions : la lisibilité est vite nulle ! Trois lignes claires sont préférables à une seule incompréhensible. De façon générale, la clarté d'un programme ne doit pas être sacrifiée à la concision.

ne jamais utiliser les opérateurs ++ et -- dans des expressions qui figurent en paramètre d'un appel de fonction.