inkrement & dekrement - operatoren



  • Hallo,

    Gibt es eine logische Erklärung für die Präfis & Postfix Varianten dieser Operatoren. Meine Erklärung z. B. zum Inkrement-Operator:
    1. Präfix --> Wie der Name sagt : Vor / zu Beginn / am Anfang von alles ( vor der Auswertung, vor der Berechnung ... )
    2. Postfix --> Wie der Name sagt : Nach / zum Schluss / am Ende von alles ( nach der Auswertung , nach der Berechnung ... ) , ich brauche eine log. Erklärung



  • Ich zitiere einfach mal aus dem Buch C von A bis Z, Kapitel 8.4: Inkrement- und Dekrement-Operatoren

    Die Postfix-Schreibweise erhöht bzw. erniedrigt den Wert von var, gibt aber noch den alten Wert an den aktuellen Ausdruck weiter.
    Die Präfix-Schreibweise erhöht bzw. erniedrigt den Wert von var und gibt diesen Wert sofort an den aktuellen Ausdruck weiter.

    Hierzu ein Beispiel:
    /* incr.c */
    #include <stdio.h>
    int main(void) {
       int i=1;
       printf("i=%d\n",i);         // i=1
       i++;
       printf("i=%d\n",i);         // i=2
       printf("i=%d\n",i++);       // i=2
       printf("i=%d\n",i);         // i=3
       printf("i=%d\n",++i);       // i=4
       return 0;
    }
    

    http://www.galileocomputing.de/openbook/c_von_a_bis_z/



  • null schrieb:

    Gibt es eine logische Erklärung für die Präfis & Postfix Varianten dieser Operatoren.

    es gibt prozessoren, die so ähnliche assembler-anweisungen kennen:

    ld r1,[r0+]   ; inhalt von dem, worauf r0 zeigt nach r1 kopieren. [i]danach[/i] r0 um 1 hochzählen
    

    und weil C eine art portable assemblersprache ist (gedacht für low-level und systemprogrammierung), kennt es sowohl pre- wie auch post-increment operatoren.
    🙂


Anmelden zum Antworten