Basis van programmeren in C

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

Wat is de uitvoer als de bovenstaande code met prefix- en postfix-++ wordt uitgevoerd?

  1. A5 6 6
  2. B5 7 7
  3. C6 7 7
Antwoord en toelichting tonen

Antwoord: B. 5 7 7

Postfix i++ gebruikt de waarde van vóór de verhoging als waarde van de expressie en verhoogt daarna i met 1. Dus a krijgt 5 en i wordt 6. Prefix ++i verhoogt eerst i met 1 en gebruikt daarna de nieuwe waarde als waarde van de expressie, dus i wordt 7 en ook b krijgt 7. De uitvoer is „5 7 7”.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Basis van programmeren in C

  1. Wat is de uitvoer als de bovenstaande code, met = in de voorwaarde van een if-statement, wordt uitgevoerd?
  2. De bovenstaande code is geschreven om te controleren of bit 2 van de registerwaarde reg 1 is. Wat is het resultaat als de code wordt uitgevoerd?
  3. uint8_t is een 8-bits integertype zonder teken. Wat is de uitvoer als de bovenstaande code wordt uitgevoerd?
  4. uint8_t is een 8-bits integertype zonder teken. Wat is de uitvoer als de bovenstaande code, die x tien keer verhoogt, wordt uitgevoerd?
  5. unsigned char is 8 bits en int is 32 bits. Wat is de uitvoer als de bovenstaande code wordt uitgevoerd?