cropfaktor
Aktives Mitglied
Thread Starter
- Dabei seit
- 18.01.2008
- Beiträge
- 1.148
- Reaktionspunkte
- 119
Hallo in die Runde,
diese Wochen sind mal wieder Grundlagen dran und mein Lehrbuch verhaspelt sich und ich kapiere es auch nicht.
Dieses "Präinkrement-Operator"-Beispiel ist mir vollkommen einsichtig:
In der Konsole werden Werte von 1 bis 9 ausgegeben. Die Variable "counter3" wird um 1 erhöht, bevor der Vergleich mit der Konstanten "10" durchgeführt wird.
Und nun zum unverständlichen Beispiel mit dem "Postinkrement"-Operator:
Theoretisch wird doch hier die Variable "counter2" erst "nach" dem Vergleich um 1 erhöht. Ergo müsste doch die Ausgabe mit "0" beginnen. Tut sie aber nicht, sie beginnt mit 1.
Die Deklaration und Definition der Variablen legt diese auf den Wert "0".
Danach der Vergleich, erste Ausgabe "0". Aber warum "1" als erste Ausgabe? Da müsste dann die Variable, trotz Postinkrement-Operator bereits vor der Schleife um 1 erhöht worden sein.
für mich rätselhaft.
Jemand eine Idee?
Danke
Andreas
diese Wochen sind mal wieder Grundlagen dran und mein Lehrbuch verhaspelt sich und ich kapiere es auch nicht.
Dieses "Präinkrement-Operator"-Beispiel ist mir vollkommen einsichtig:
Code:
//Verkürzte while-Schleife durch den Inkrement-Operator
int counter3 = 0;
//Variante Präfix-Notation
while (++counter3 < 10) {
printf("Wert der Variablen3: %d \n", counter3);
}
Und nun zum unverständlichen Beispiel mit dem "Postinkrement"-Operator:
Code:
//Verkürzte while-Schleife durch den Inkrement-Operator
int counter2 = 0;
//Variante Postfix-Notation
while (counter2++ < 10) {
printf("Wert der Variablen2: %d \n", counter2);
}
Die Deklaration und Definition der Variablen legt diese auf den Wert "0".
Danach der Vergleich, erste Ausgabe "0". Aber warum "1" als erste Ausgabe? Da müsste dann die Variable, trotz Postinkrement-Operator bereits vor der Schleife um 1 erhöht worden sein.
für mich rätselhaft.
Jemand eine Idee?
Danke
Andreas