Menu
Coddy logo textTech

Post-incrémentation / Post-décrémentation

Fait partie de la section Fondamentaux du Journey C++ de Coddy — leçon 19 sur 74.

Dans la leçon précédente, nous avons abordé les opérateurs d'incrémentation (++) et de décrémentation (--). Ces opérateurs ont deux formes : préfixée et postfixée.

La forme préfixée s'écrit avant la variable (par ex., ++x ou --x), et la forme postfixée s'écrit après la variable (par ex., x++ ou x--).

Savoir quelle forme utiliser est important en pratique. Par exemple, dans un jeu, vous pourriez suivre le score d'un joueur avec score++ après chaque coup, ou utiliser --lives pour refléter immédiatement une vie perdue avant de vérifier si la partie est terminée. Dans les boucles, le choix entre le préfixe et le suffixe peut affecter la valeur utilisée dans une expression avant ou après la mise à jour.

La différence entre les deux formes est subtile mais importante :

  • Forme préfixée : Incrémente/décrémente la variable, puis retourne la nouvelle valeur.
  • Forme postfixée : Retourne la valeur actuelle de la variable, puis l'incrémente/la décrémente.

Voici un exemple pour illustrer la différence :

int x = 5;
int y = x++;
// y = 5, x = 6 (postfixe : y reçoit la valeur d'origine, puis x est incrémenté)

int a = 5;
int b = ++a;
// b = 6, a = 6 (préfixe : a est incrémenté en premier, puis b reçoit la nouvelle valeur)

Dans le premier cas, y reçoit la valeur d'origine de x (5), puis x est incrémenté à 6. Dans le second cas, a est d'abord incrémenté, puis sa nouvelle valeur (6) est assignée à b.

La même logique s'applique à l'opérateur de décrémentation :

int x = 5;
int y = x--;
// y = 5, x = 4 (postfix : y reçoit la valeur d'origine, puis x est décrémenté)

int a = 5;
int b = --a;
// b = 4, a = 4 (préfixe : a est d'abord décrémenté, puis b reçoit la nouvelle valeur)
challenge icon

Défi

Débutant

On vous donne un code avec les initialisations de x, y et z. (Ne supprimez pas ces lignes !)

Votre tâche consiste à utiliser les opérateurs d'incrémentation/décrémentation pour effectuer les opérations suivantes, dans cet ordre :

  1. Utilisez l'opérateur d'incrémentation postfixe pour affecter la valeur actuelle de x à a, puis incrémentez x.
  2. Utilisez l'opérateur de décrémentation préfixe pour décrémenter y et affecter sa nouvelle valeur à b.
  3. Utilisez l'opérateur de décrémentation postfixe pour affecter la valeur actuelle de z à c, puis décrémentez z.

Après avoir effectué ces opérations, affichez les valeurs de a, b, c, x, y et z dans la console au format suivant :

a: [value of a]
b: [value of b]
c: [value of c]
x: [value of x]
y: [value of y]
z: [value of z]

Essayez vous-même

#include <iostream>

int main() {
    int x = 10;
    int y = 20;
    int z = 30;
    
    int a, b, c;
    
    // Tapez votre code ci-dessous
    
    
    // Ne modifiez pas les lignes ci-dessous
    std::cout << "a: " << a << std::endl;
    std::cout << "b: " << b << std::endl;
    std::cout << "c: " << c << std::endl;
    std::cout << "x: " << x << std::endl;
    std::cout << "y: " << y << std::endl;
    std::cout << "z: " << z << std::endl;
    
    return 0;
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux