Menu
Coddy logo textTech

Post-Inkrement/Dekrement

Teil des Abschnitts Grundlagen der C++-Journey von Coddy — Lektion 19 von 74.

In der vorherigen Lektion haben wir die Inkrement- (++) und Dekrement-Operatoren (--) behandelt. Diese Operatoren haben zwei Formen: Präfix und Postfix.

Die Präfix-Form wird vor der Variablen geschrieben (z. B. ++x oder --x), und die Postfix-Form wird nach der Variablen geschrieben (z. B. x++ oder x--).

Zu wissen, welche Form man verwendet, ist in der Praxis wichtig. Zum Beispiel könnten Sie in einem Spiel den Punktestand eines Spielers mit score++ nach jedem Treffer verfolgen, oder --lives verwenden, um ein verlorenes Leben sofort widerzuspiegeln, bevor geprüft wird, ob das Spiel vorbei ist. In Schleifen kann die Wahl zwischen Präfix und Postfix beeinflussen, welcher Wert in einem Ausdruck vor oder nach der Aktualisierung verwendet wird.

Der Unterschied zwischen den beiden Formen ist subtil, aber wichtig:

  • Präfix-Form: Inkrementiert/dekrementiert die Variable und gibt dann den neuen Wert zurück.
  • Postfix-Form: Gibt den aktuellen Wert der Variable zurück und inkrementiert/dekrementiert sie dann.

Hier ist ein Beispiel, um den Unterschied zu verdeutlichen:

int x = 5;
int y = x++;
// y = 5, x = 6 (Postfix: y erhält den ursprünglichen Wert, dann wird x inkrementiert)

int a = 5;
int b = ++a;
// b = 6, a = 6 (Präfix: a wird zuerst inkrementiert, dann erhält b den neuen Wert)

Im ersten Fall wird y der ursprüngliche Wert von x (5) zugewiesen, und dann wird x auf 6 erhöht. Im zweiten Fall wird a zuerst inkrementiert, und dann wird sein neuer Wert (6) b zugewiesen.

Die gleiche Logik gilt für den Dekrement-Operator:

int x = 5;
int y = x--;
// y = 5, x = 4 (Postfix: y erhält den ursprünglichen Wert, dann wird x dekrementiert)

int a = 5;
int b = --a;
// b = 4, a = 4 (Präfix: a wird zuerst dekrementiert, dann erhält b den neuen Wert)
challenge icon

Aufgabe

Anfänger

Ihnen wird ein Code mit Initialisierungen von x, y und z gegeben. (Löschen Sie diese Zeilen nicht!)

Ihre Aufgabe ist es, die Inkrement-/Dekrement-Operatoren zu verwenden, um die folgenden Operationen in dieser Reihenfolge durchzuführen:

  1. Verwenden Sie den Postfix-Inkrement-Operator, um den aktuellen Wert von x an a zuzuweisen und dann x zu inkrementieren.
  2. Verwenden Sie den Präfix-Dekrement-Operator, um y zu dekrementieren und seinen neuen Wert an b zuzuweisen.
  3. Verwenden Sie den Postfix-Dekrement-Operator, um den aktuellen Wert von z an c zuzuweisen und dann z zu dekrementieren.

Geben Sie nach der Durchführung dieser Operationen die Werte von a, b, c, x, y und z in folgendem Format auf der Konsole aus:

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

Probier es selbst

#include <iostream>

int main() {
    int x = 10;
    int y = 20;
    int z = 30;
    
    int a, b, c;
    
    // Schreibe deinen Code unten
    
    
    // Die folgenden Zeilen nicht ändern
    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 iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen