Forum

Einloggen | Registrieren | RSS  

silent_max(R)

E-Mail

20.03.2012,
21:05
 

Prä- und Postfix in C++ (Computertechnik)

Hallo liebe Gemeinde.

Ich hätte einmal eine Frage zu Prä- und Postfix.

Hier ersteinmal folgender Code:

#include <iostream>
using namespace std;

int main()
{
int mein_Alter = 39;
int dein_Alter = 39;

cout << "Ich bin " << mein_Alter << " Jahre alt!" << endl;
cout << "Du bist " << dein_Alter << " Jahre alt!" << endl;

mein_Alter++; // Postfix - Inkrement
++dein_Alter; // Präfix - Inkrement

cout << "Ich bin " << mein_Alter << " Jahre alt!" << endl;
cout << "Du bist " << dein_Alter << " Jahre alt!" << endl;

cout << "Noch ein Jahr vergangen!" << endl;

cout << "Ich bin " << mein_Alter++ << " Jahre alt!" << endl;
cout << "Du bist " << ++dein_Alter << " Jahre alt!" << endl;

cout << "Und nocheinmal ausgeben!" << endl;

cout << "Ich bin " << mein_Alter << " Jahre alt!" << endl;
cout << "Du bist " << dein_Alter << " Jahre alt!" << endl;

return 0;
}

Die Ausgabe ist wie folgt:

Ich bin: 39 Jahre alt.
Du bist: 39 Jahre alt
Ein Jahr ist vergangen...
Ich bin: 40 Jahre alt.
Du bist: 40 Jahre alt
Noch ein Jahr ist vergangen
Ich bin: 40 Jahre alt.
Du bist: 41 Jahre alt
Und noch einmal ausgeben.
Ich bin: 41 Jahre alt.
Du bist: 41 Jahre alt

Nun zu meiner Frage: Die siebte Zeile in der Ausgabe müsste doch auch 41 Jahre ausgeben oder nicht?

Falls ich etwas falsch gemacht habe, was ist falsch? Ich sehe den Fehler nicht...

Falls es richtig ist, warum ist das so?

Vielen Dank im Voraus für die Antworten.

Gruß

Max

--
Where is the madness ...

hws(R)

E-Mail

59425 Unna,
20.03.2012,
21:15

@ silent_max

Prä- und Postfix in C++

» Ich hätte einmal eine Frage zu Prä- und Postfix.

Präfix: es wird erst incrementiert, dann ausgegeben.
wird nochmals ausgegeben, bleibt die Variable so.

Postfix: die Variable wird mit dem aktuellen Wert ausgegeben, erst danach incrementiert.
Bei einer weiteren Ausgabe ohne weiteres Increment, wird der aktuelle Wert ausgegeben (und der wurde vorher schon incrementiert)

hws