← Questões de Programação

Programação · CONSULPLAN · 2022

Questão comentada de Programação

Analise o código abaixo escrito em C. int main() { int a = 0, b = 1, c = 2; printf(“%d”; a); c = a; printf(“%d”; b); b = c; printf(“%d”; c); return } Assinale, a seguir, o valor impresso ao final da execução do código.

Gabarito: B

Em C, a lógica aqui é bem direta: as variáveis recebem valores iniciais e, depois, cada linha pode alterar esses valores antes da próxima impressão. O ponto principal é perceber que o `printf` mostra o valor atual da variável naquele exato momento, e não o valor que ela “vai ter” no final. No início, temos `a = 0`, `b = 1` e `c = 2`. A primeira impressão mostra `a`, então sai `0`. Em seguida, `c = a` faz `c` passar a valer `0`. A segunda impressão mostra `b`, que ainda vale `1`. Depois, `b = c` faz `b` virar `0`, mas isso não altera o que já foi impresso. Por fim, o último `printf` exibe `c`, que continua valendo `0`. Assim, a sequência impressa é `010`, por isso o gabarito é a alternativa B. É aquela clássica questão de acompanhar o estado das variáveis linha por linha, sem pular etapas. Em provas, isso aparece bastante para testar atenção, mais do que conhecimento avançado de C.

Continue treinando

Questões relacionadas