Grundlagen der Programmiersprache C

int i = 5;
int a = i++;
int b = ++i;
printf("%d %d %d\n", a, b, i);

Welche Ausgabe erzeugt der obige Code mit Präfix- und Postfix-++ bei der Ausführung?

  1. A5 6 6
  2. B5 7 7
  3. C6 7 7
Antwort und Erläuterung anzeigen

Antwort: B. 5 7 7

Das Postfix-i++ liefert als Wert des Ausdrucks den Wert vor dem Erhöhen und erhöht i erst danach um 1. Deshalb erhält a den Wert 5, und i wird 6. Das Präfix-++i erhöht i zuerst um 1 und liefert den erhöhten Wert als Wert des Ausdrucks; i wird also 7, und auch b erhält 7. Die Ausgabe ist „5 7 7“.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Grundlagen der Programmiersprache C

  1. Welche Ausgabe erzeugt der obige Code, in dessen if-Bedingung = steht, bei der Ausführung?
  2. Der obige Code soll prüfen, ob Bit 2 des Registerwerts reg gleich 1 ist. Was ergibt die Ausführung?
  3. uint8_t ist ein vorzeichenloser 8-Bit-Ganzzahltyp. Welche Ausgabe erzeugt der obige Code bei der Ausführung?
  4. uint8_t ist ein vorzeichenloser 8-Bit-Ganzzahltyp. Welche Ausgabe erzeugt der obige Code, der x zehnmal erhöht, bei der Ausführung?
  5. unsigned char habe 8 Bit und int 32 Bit. Welche Ausgabe erzeugt der obige Code bei der Ausführung?