4.9. Les opérateurs d'incrémentation et de décrémentation ++ ‐‐
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.