Informática, perguntado por Ruane4Rosa, 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. I, III,e IV.
b. I, II e V.
c. II e V.
d. III e IV.
e. I e III.

Soluções para a tarefa

Respondido por vinibutturi
7

alternativa B) I, II e V

Perguntas interessantes