Informática, perguntado por hatsunejuli26, 1 ano atrás

O escopo de uma variável é definido pelos blocos onde a variável pode ser utilizada. Variáveis declaradas no mesmo escopo precisam ter nomes diferentes, mas nomes podem ser "reaproveitados" em outros escopos.



#include

#include

int fat (int n)

{

int res = 1;

while (n > 1) {

res = res * n;

n--;

}

return res;

}

int main ()

{

int n, res;

printf("Entre com o valor de n: ");

scanf("%d", &n);

res = fat(n+1) / (n+1);

printf("Fatorial de %d = %d\n", n, res );

system("pause");

return 0;

}

Fonte: Disponível emAcesso.14.Ago.2018.





Neste contexto, julgue as afirmações que se seguem.

I. A função main e fat possuem ambas variáveis com o nome res, e que main possui uma variável chamada n, que é o nome do parâmetro da função fat. Apesar do mesmo nome, são variáveis diferentes.

II. Para a função fat, o parâmetro n funciona como uma variável local, juntamente com a variável res. A diferença é que o parâmetro n recebe seu valor no instante da chamada.

III. O programa sempre inicia sua execução pela função fat, que solicita a entrada de um valor para n.

IV. A linha res = fat(n+1)/(n+1); chama a função fat. Como n=2, então o valor 3 é passado para a função, ou seja, esse valor é atribuido ao parâmetro fat, que começa a executar seu corpo.

V. O fatorial de 3 é calculado e o valor 6 é atribuido à variável res. Neste caso o parâmetro n é utilizado como variável, o que é permitido pela linguagem C.

É correto apenas o que se afirma em:

Escolha uma:
a. II e V.
b. I, III,e IV.
c. III e IV.
d. I, II e V.
e. I e III.

Soluções para a tarefa

Respondido por joaocJr
7

Correto é a d. I,II e V (Corrigido pelo AVA

Perguntas interessantes