← Questões de Programação

Programação · CESPE/CEBRASPE · 2022

Questão comentada de Programação

int a = 3 ; int b = 7 ; int c ; c = ++a + (--a * b++) ; A execução do código apresentado, escrito em JavaScript, resulta na variável c com o valor

Gabarito: C

Em expressões com incremento e decremento, o detalhe que salva sua prova é simples: os operadores unários alteram a variável na hora, e o valor usado na conta pode ser o antigo ou o novo, dependendo de ser pré ou pós-incremento. No JavaScript, a avaliação ocorre da esquerda para a direita, então você precisa acompanhar cada efeito colateral com calma, sem deixar a expressão virar um pequeno caos elegante. Aqui, começa com a = 3 e b = 7. Primeiro vem ++a, que incrementa a antes de usar o valor: a passa a 4 e a expressão rende 4. Depois aparece --a, que decrements a antes de usar: a volta para 3 e esse termo vale 3. Em seguida, b++ usa o valor atual de b, que ainda é 7, e só depois b passa a 8. Assim, a conta fica 4 + (3 * 7) = 4 + 21 = 25. Por isso, a variável c recebe 25, que é o gabarito da questão. O ponto central é dominar a diferença entre pré e pós-incremento. Em prova, a banca adora misturar esses operadores para ver se voce controla o valor retornado e a alteração da variável ao mesmo tempo.

Continue treinando

Questões relacionadas