Alternativa B - O programa imprimirá a = 10, b = 15 em uma linha e, na seguinte, a = 15, b = 10.
Análise do Código
Esta questão avalia a compreensão de variáveis, atribuição e o algoritmo clássico de troca de valores (swap). Vamos analisar o fluxo de execução passo a passo:
1. Inicialização das Variáveis
int a,b;
a=10;
b=15;
- São declaradas duas variáveis inteiras:
a e b. a recebe o valor 10.b recebe o valor 15.
2. Primeira Impressão
printf("a= %d, b=%d\n",a,b);
- Imprime os valores atuais de
a e b. - Saída 1:
a= 10, b=15 - O caractere
\n move o cursor para a próxima linha após a impressão.
3. Lógica de Troca (Swap)
temp=b;
b=a;
a=temp;
Para trocar os valores sem perder dados, utiliza-se uma variável auxiliar (temp).
temp = b;: Copia o valor de b (15) para temp. Agora: temp=15.b = a;: Copia o valor de a (10) para b. Agora: b=10.a = temp;: Copia o valor de temp (15) para a. Agora: a=15.
- Resultado final: Os valores foram invertidos.
a agora é 15 e b é 10.
4. Segunda Impressão
printf("a= %d, b=%d\n",a,b);
- Imprime os novos valores trocados.
- Saída 2:
a= 15, b=10
Conclusão Comparativa
| Saída Esperada | Descrição |
|---|
| Linha 1 | a= 10, b=15 (Valores originais) |
| Linha 2 | a= 15, b=10 (Valores trocados) |
Isso corresponde exatamente à descrição da Alternativa B.
Nota Técnica Importante: Embora a lógica descrita acima seja o objetivo pedagógico da questão, em uma compilação estrita da linguagem C padrão, haveria um erro porque a variável temp não foi declarada (deveria ter int temp;). Contudo, em provas de concursos focadas em lógica algorítmica, assume-se que a variável existe para fins de demonstração do funcionamento do algoritmo.
Portanto, a alternativa correta é a B.