Considere o programa na linguagem C: #include <stdio.h&g...

Próximas questões
Com base no mesmo assunto
Q2039256 Programação
Considere o programa na linguagem C:
#include <stdio.h> int main(){    int a, b, c;    printf("Digite dois números\n");    scanf("%d%d", &a, &b);    c = a;    a = b;    b = a;    printf("%d %d\n", a, b);    return 0; }
Executando e digitando como entrada os números 12 e 14, a saída será:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: C - 14 14

Vamos analisar o que o programa em linguagem C está fazendo para entender por que a alternativa C é correta. O programa começa incluindo a biblioteca stdio.h, que é necessária para realizar operações de entrada e saída, como printf e scanf. Após isso, ele declara três variáveis inteiras, a, b e c.

O programa pede ao usuário que digite dois números e os armazena nas variáveis a e b respectivamente. Em seguida, o valor de a é armazenado na variável c. Logo após, a variável a recebe o valor de b. Perceba que, nesse momento, tanto a quanto b contêm o mesmo número que foi originalmente armazenado em b.

O próximo passo é onde a confusão geralmente acontece: a variável b é igualada a a. No entanto, como a já foi modificada para ter o valor que b tinha, essa operação apenas faz com que b continue com o mesmo valor, não ocorrendo uma troca de valores entre as variáveis a e b.

Assim, quando os números 12 e 14 são digitados pelo usuário, a recebe 12 e b recebe 14. Depois da operação a = b, ambas a e b têm o valor 14. Isso é confirmado na linha do printf, que imprime os valores de a e b, resultando na saída 14 14, que é a resposta correta.

Para resolver essa questão, é necessário compreender a atribuição de valores entre variáveis e a ordem de execução das instruções na linguagem C. Além disso, é fundamental ter atenção ao fato de que uma variável pode receber o valor de outra, e se não houver um armazenamento intermediário (como seria o caso se tivéssemos utilizado a variável c corretamente para armazenar o valor original de a), o valor original será perdido.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo