🧠 Quiz Formativo: Cap 08 - Modularização, Escopo e argc/argv
🧠 Quiz Formativo: Cap 08 - Modularização, Escopo e argc/argv
Teste sua compreensão sobre protótipos de funções, passagem de parâmetros por valor, variáveis static e processamento de argumentos de linha de comando.
Instruções:
- Clique na alternativa que julgar correta para cada uma das questões abaixo.
- O sistema avaliará sua resposta imediatamente fornecendo justificativa técnica detalhada.
Questão 1: O que acontece quando passamos uma variável inteira `x` como parâmetro para uma função `void alterar(int x)` em C?
Questão 2: Qual é o comportamento especial de uma variável local declarada com o modificador `static` dentro de uma função (ex: `static int contador = 0;`)?
Questão 3: Ao executar o comando `./meu_app host.com 8080` no terminal, quais serão os valores respectivos de `argc`, `argv[0]` e `argv[1]`?
<button class="quiz-option" data-correct="false" data-feedback="Incorreto. Esse cálculo ignora que `argv[0]` sempre armazena o nome do próprio executável; com dois argumentos adicionais mais o nome do programa, `argc` vale 3, não 2, e `argv[0]` é `\"./meu_app\"`, não `\"host.com\"`."> A) `argc = 2`, `argv[0] = "host.com"`, `argv[1] = "8080"` </button> <button class="quiz-option" data-correct="true" data-feedback="Correto! `argc` contabiliza o nome do próprio executável (`argv[0]`) mais os parâmetros fornecidos. Assim, `argc` vale 3, `argv[0]` é `\"./meu_app\"`, `argv[1]` é `\"host.com\"` e `argv[2]` é `\"8080\"`."> B) `argc = 3`, `argv[0] = "./meu_app"`, `argv[1] = "host.com"` </button> <button class="quiz-option" data-correct="false" data-feedback="Incorreto. A ordem dos argumentos em `argv` segue exatamente a ordem digitada na linha de comando; `argv[0]` é sempre o nome do executável (`\"./meu_app\"`), nunca o último parâmetro (`\"8080\"`)."> C) `argc = 3`, `argv[0] = "8080"`, `argv[1] = "./meu_app"` </button>Questão 4: Para que serve o arquivo de cabeçalho ` Questão 5: Por que declarar um "Protótipo de Função" (*Forward Declaration*) antes da função `main` é considerado uma boa prática de engenharia em C?