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
7
Correto é a d. I,II e V (Corrigido pelo AVA
Perguntas interessantes