Logo Passei Direto
Buscar
X FMU FIAM FAAM REVIEU Atividade 2 (A2) - TÉCNICAS DE PROGRAMAÇÃO - GR3342 Funções são blocos funcionais modulares presentes nas linguagens de - 1 PONTO Funções são blocos funcionais modulares presentes nas linguagens de programação int funcao (int a, int *b) { a++; *b = a * 2 ; return b+5; } int main () ( int x-4,y=8,z; z = funcao (x, &v) ; printf ("%d %d Ad\n",x,y,z); return 0; } Assinale a alternativa que apresenta os valores impressos pela função "printf" A .5 10 15. B .4 16 15. 45 C .5 16 21.
User badge image
Vinícius Souza

há 9 meses

Respostas

User badge image

Ed Verified user icon

há 9 meses

Vamos analisar o código fornecido e entender o que acontece passo a passo. 1. Definição da função: ```c int funcao(int a, int *b) { a++; *b = a * 2; return b + 5; } ``` - A função `funcao` recebe um inteiro `a` e um ponteiro para inteiro `b`. - `a++` incrementa `a` em 1. - `*b = a * 2` atribui a `*b` o valor de `a` multiplicado por 2. - `return b + 5` retorna o endereço de `b` mais 5, o que não é o que queremos, pois estamos interessados no valor. 2. Função `main`: ```c int main() { int x = 4, y = 8, z; z = funcao(x, &y); printf("%d %d %d\n", x, y, z); return 0; } ``` - `x` é inicializado com 4 e `y` com 8. - A função `funcao` é chamada com `x` e o endereço de `y`. 3. Execução da função: - `a` recebe 4 (valor de `x`). - `a++` faz `a` ser 5. - `*b = a * 2` faz `y` (que é `*b`) ser 10 (5 * 2). - O retorno `b + 5` não é relevante para o valor impresso, mas `z` receberá um valor que não é o que queremos. 4. Valores finais: - `x` permanece 4. - `y` agora é 10. - `z` receberá um valor que não é o que queremos, mas o que importa é que `printf` imprimirá os valores de `x`, `y` e `z`. Agora, vamos ver as opções: A) 5 10 15 B) 4 16 15 C) 5 16 21 Os valores que serão impressos são: - `x` = 4 - `y` = 10 - `z` = (valor que não é relevante, mas não é 15, 16 ou 21) Portanto, a alternativa correta que representa os valores impressos pela função `printf` é: B) 4 10 z (mas como não está entre as opções, a resposta correta é que a opção B é a que mais se aproxima, mas não está correta). A resposta correta não está listada nas opções.

Essa resposta te ajudou?

0
Dislike0
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar essa resposta. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais conteúdos dessa disciplina