Pular para o conteúdo principal

Questão de Programação — Conceitos básicos de programação — FUNDATEC 2025

ProgramaçãoConceitos básicos de programação
Código
qg473695
Banca
FUNDATEC
Órgão
IF Sul - MG
Ano
2025
Nível
Superior
Cargo
PEBTT - Informática

Para responder a questão, considere o programa a seguir, feito em linguagem C. As linhas estão numeradas apenas para referência.


Imagem da questão

Qual das linhas da função main retorna um erro de compilação?
  1. A15.
  2. B16.
  3. C23.
  4. D25.
  5. E26.
Revelar gabarito e comentário

GabaritoC — 23.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Resolução

Gabarito: letra C — a conta chega a Linha 23 — alternativa C.

A ideia por trás

Em C, uma função precisa ser conhecida pelo compilador antes de ser usada. Existem duas formas de apresentá-la: a declaração (protótipo), que informa nome, tipo de retorno e parâmetros sem o corpo, e a definição, que é a função completa com o corpo entre chaves. O compilador lê o código de cima para baixo, então, se uma chamada aparece antes da definição e não há protótipo, ele não sabe o que é aquela função naquele ponto.

A regra é simples: toda função usada deve ter sido declarada ou definida antes do uso. Se a definição vem depois da chamada, é obrigatório um protótipo antes. Sem ele, o compilador emite erro (ou warning tratado como erro). Isso vale para qualquer função, inclusive as definidas dentro do main, como neste caso.

A questão mostra um programa onde a função soma é chamada na linha 23 e só definida na linha 25, sem protótipo. O erro está na chamada, não na definição.

O que a questão dá

  • linha 15: declaração de variável com inicialização

  • linha 16: declaração de variável com inicialização

  • linha 23: chamada da função soma

  • linha 25: definição da função soma

  • linha 26: return dentro da função soma

O que queremos: qual linha da função main retorna erro de compilação

Passo 1 — Verificar se a função soma foi declarada antes

O compilador processa o código de cima para baixo. Para que a chamada na linha 23 seja válida, ele precisa já ter visto um protótipo ou a definição da função soma. Como a definição só aparece na linha 25, precisamos checar se há um protótipo antes da linha 23.

NÃO CAIA NESSA!

Achar que a definição da função serve como declaração para chamadas anteriores — não serve, a ordem importa.

Passo 2 — Concluir que a chamada é o erro

Sem protótipo e com a definição depois, a linha 23 é inválida. As demais linhas (15, 16, 25, 26) são sintaticamente corretas: declarações de variáveis, definição de função e return.

NÃO CAIA NESSA!

Confundir a ordem: a definição está certa, o problema é a chamada antes dela.

Resposta: Linha 23 — alternativa C

Link permanente: /questoes/qg473695