530 Stimmen

Warum wird sizeof(x++) nicht um x erhöht?

Hier ist der in dev c++ Windows kompilierte Code:

#include <stdio.h>

int main() {
    int x = 5;
    printf("%d and ", sizeof(x++)); // note 1
    printf("%d\n", x); // note 2
    return 0;
}

Ich erwarte x zu 6 nach der Ausführung von Anmerkung 1 . Die Ausgabe ist jedoch:

4 and 5

Kann jemand erklären, warum x wird nicht erhöht nach Anmerkung 1 ?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X