Matemática Múltipla Escolha

Considere o seguinte programa escrito em C: Após a execução desse trecho, suponha que o usuário tenha entrado com os valores: r 2 Assinale a alternativa que contém o resultado correto da execução deste programa.

Considere o seguinte programa escrito em C:

#include
void main(){
 char letra;
 int num;
 printf("Entre com uma letra e um inteiro:\n");
 scanf("%c %d", letra, num);
 printf("Você informou a letra %c e o inteiro %d.\n", letra, num);
}

Após a execução desse trecho, suponha que o usuário tenha entrado com os valores:
r
2

Assinale a alternativa que contém o resultado correto da execução deste programa.

  1. Será impresso na tela: Você informou a letra 'R' e o inteiro 2.
  2. Será impresso na tela: Você informou a letra %c e o inteiro %d.
  3. Ocorrerá um erro durante a compilação e nada será exibido.
  4. Ocorrerá um erro durante a execução e nada será exibido.
  5. Será impresso na tela: Você informou a letra 'R' e o inteiro 2.

Resolução completa

Explicação passo a passo

C
Alternativa C

Alternativa C - Ocorrerá um erro durante a compilação e nada será exibido.

Análise do Código

Para identificar o comportamento deste programa em C, precisamos analisar os erros de sintaxe e lógica presentes na estrutura do código:

  1. Diretiva #include incompleta:
  • A primeira linha do código é apenas #include. Em C, esta diretiva exige o nome do arquivo de cabeçalho entre colchetes angulares ou aspas (ex: #include <stdio.h>).
  • Sem especificar qual biblioteca incluir, o compilador não consegue encontrar as declarações necessárias para funções como printf e scanf. Isso gera um erro de compilação imediato.
  1. Uso incorreto do scanf:
  • A função scanf requer que os argumentos sejam ponteiros (endereços de memória) para onde os dados serão armazenados.
  • No trecho scanf("%c %d", letra, num);, as variáveis letra e num são passadas por valor, e não por referência (falta o operador &).
  • Embora alguns compiladores antigos permitam isso gerando apenas avisos, em padrões modernos (C99/C11) ou configurações estritas, isso é tratado como um erro de tipo que impede a compilação correta. Mesmo se o código compilasse, causaria um erro de execução (falha de segmentação), mas a falta de cabeçalho já bloqueia a compilação primeiro.
  1. Retorno da função main:
  • A definição void main() não é padrão na linguagem C (o correto é int main()), o que também pode gerar erros de compilação dependendo do compilador utilizado.

Por que "Nada será exibido"?

A alternativa C afirma que nada será exibido. Isso ocorre porque:

  • Se houver um erro de compilação (devido ao #include faltante ou aos tipos de argumentos), o programa nunca chega a ser executado.
  • Como o código fonte não vira um executável válido, nenhuma instrução de impressão (printf) é processada pela máquina.

As outras alternativas estão incorretas porque:

  • A e E: Pressupõem que o programa roda perfeitamente, ignorando os erros graves.
  • B: Sugere que o formato foi impresso literalmente, o que não acontece nesse cenário.
  • D: Fala em erro de execução, mas pressupõe que o programa iniciou. Se houvesse erro de execução no scanf, o printf anterior ("Entre com uma letra...") provavelmente já teria sido mostrado na tela (pois há um \n que força o fluxo). Além disso, o erro de compilação previne o início da execução.

Portanto, a presença de erros sintáticos que impedem a geração do executável torna a Alternativa C a resposta correta.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Matemática

Ver mais Matemática resolvidas

Tem outra questão de Matemática?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.