000
15.12.2009, 22:22 Uhr
cpplearner
|
Hallo liebe C++-Gemeinde,
momentan habe ich ein echtes Verständnis-Problem bei folgendem Programm zum Thema Makros:
C++: |
#include <iostream> using namespace std;
#define CUBIC(x) (x * x * x)
int main (void) { int x = 2; cout << "Ergebnis = " << CUBIC(x++) << endl; x = 2; cout << "Ergebnis = " << CUBIC(++x) << endl; x = 2; cout << "Ergebnis = " << CUBIC(x--) << endl; x = 2; cout << "Ergebnis = " << CUBIC(--x) << endl; return 0; }
|
Normalerweise müsste mir dieses Programm doch die Ergebnisse 8, 27, 8 und 1 liefern. Jedoch kommen ganz andere Zahlen heraus, als gedacht. Kann mir jemand von euch erklären, wo mein Denkfehler ist, bzw. wie ich die Ergebnisse, die mir mein Compiler ausspuckt nachvollziehen kann? |