Inkrement- und Dekrement

Inkrement- und Dekrementoperatoren



Eine in allen gängigen Programmiersprachen wichtige Funktion ist das Inkrement- und Dekrement.
Das heißt den Wert einer Variable um 1 zu erhöhen oder zu senken.

Hier ein Beispiel in C:



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#include <stdio.h>
void main ()
{
short a, b;

a = 1;
b = a++;

printf("b = %d\n",b);
}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


Hier passiert nun folgendes. Der Wert von a wird an b übergeben und a wird dann um 1 erhöht.
Diese Schreibweise nennt sich Postfix-Schreibweise.

Was wird nun angezeigt?

RICHTIG der Wert von b ist 1.


Wollten wir das b den erhöhten Wert von a übernimmt müssen wir das Programm wie folgt umschreiben.



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#include <stdio.h>
void main ()
{
short a, b;

a = 1;
b = ++a;

printf("b = %d\n",b);
}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


Nun wird a erst um eins erhöht und dann nach b geschrieben. Nun ist die Anzeige von b = 2.
Da hier der Wert erst um 1 erhöht wird nennt man dies Prefix-Schreibweise.


FAZIT:

C bzw. der Compiler arbeiten das Programm genau so ab wie es geschrieben wird. Das macht die ganze Sache für den Programmierer etwas leichter verständlich.



Die ganze Sache wird wahrscheinlich etwas verständlicher wenn man sich beide Variablen ausgeben lässt. Ich habe das Programm noch einmal umgeschrieben, um so beide Variablen auszugeben.


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#include <stdio.h>
void main ()
{
short a, b, x, y ;

a = 1;
b = 0;

x = 1;
y = 0;

b = a++; /* Postfix-Schreibweise */
y = ++x; /* Prefix-Schreibweise */

printf("a = %d , b = %d\n",a, b);
printf("x = %d , y = %d\n",x, y);
}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


Nun zeigt das Programm a = 2 , b = 1 und x = 2 , y = 2.

Vielleicht ist es mit diesem Programm noch etwas verständlicher.

Bis Bald