Identifique os valores a serem exibidos pelos seguintes trechos de programa:
int a = 5, b = 3;
int c;
c = a++ + --b; printf(“a = %d b = %d c = %d\n”,a,b,c);
c = ++a + b–; printf(“a = %d b = %d c = %d\n”,a,b,c);
c = --a + b; printf(“a = %d b = %d c = %d\n”,a,b,c);
c = a-- + b; printf(“a = %d b = %d c = %d\n”,a,b,c);
int a = 5, b = 3;
int c;
c = a++ + --b; printf(“a = %d b = %d c = %d\n”,a,b,c);
c = ++a + b–; printf(“a = %d b = %d c = %d\n”,a,b,c);
c = --a + b; printf(“a = %d b = %d c = %d\n”,a,b,c);
c = a-- + b; printf(“a = %d b = %d c = %d\n”,a,b,c);
Passo 1
Neste exercício, começamos com as variáveis iniciais a = 5 e b = 3. Usaremos operadores de incremento/decremento (pré e pós) e somaremos esses valores em c antes de imprimir tudo.
Passo 2
Para c = a++ + --b: o --b é pré-decremento, então b vai de 3 para 2 e vale 2; o a++ é pós-incremento, então vale 5 e depois a vira 6; c recebe 5 + 2 = 7. Após isso, a = 6, b = 2.
Para c = ++a + b–: o ++a é pré-incremento, então a vai de 6 para 7 e vale 7; o b-- é pós-decremento, então vale 2 e depois b vira 1; c recebe 7 + 2 = 9. Após isso, a = 7, b = 1.
Para c = --a + b: o --a é pré-decremento, então a vai de 7 para 6 e vale 6; o b é pré-incremento, então b vai de 1 para 2 e vale 2; c recebe 6 + 2 = 8. Após isso, a = 6, b = 2.
Para c = a-- + b: o a-- é pós-decremento, então vale 6 e depois a vira 5; o b é pós-incremento, então vale 2 e depois b vira 3; c recebe 6 + 2 = 8. Após isso, a = 5, b = 3.
Para c = ++a + b–: o ++a é pré-incremento, então a vai de 6 para 7 e vale 7; o b-- é pós-decremento, então vale 2 e depois b vira 1; c recebe 7 + 2 = 9. Após isso, a = 7, b = 1.
Para c = --a + b: o --a é pré-decremento, então a vai de 7 para 6 e vale 6; o b é pré-incremento, então b vai de 1 para 2 e vale 2; c recebe 6 + 2 = 8. Após isso, a = 6, b = 2.
Para c = a-- + b: o a-- é pós-decremento, então vale 6 e depois a vira 5; o b é pós-incremento, então vale 2 e depois b vira 3; c recebe 6 + 2 = 8. Após isso, a = 5, b = 3.
Resposta
a = 6 b = 2 c = 7
a = 7 b = 1 c = 9
a = 6 b = 2 c = 8
a = 5 b = 3 c = 8
a = 7 b = 1 c = 9
a = 6 b = 2 c = 8
a = 5 b = 3 c = 8