Questão de Estrutura de Dados
Conforme Mizrahi (2008) o escopo de uma variável é definido pelas regiões (blocos) onde a variável pode ser utilizada e é nesta hora que surge o conceitos das variáveis globais e variáveis locais. Variáveis globais são aquelas declaradas no início de um algoritmo. São visíveis, ou seja, podem ser utilizadas no algoritmo principal e por todos as funções. As variáveis locais são aquelas declaradas no início de uma função. São visíveis, ou seja, podem ser utilizadas somente pela função onde foram declaradas. Observe o programa a seguir:
#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 );
return 0;
}
I. O programa apresentado está errado pois a variável res foi declarada duas vezes, causando um erro de compilação.
II. A função fat está escrita antes da função main ( ) porém, o programa começa sempre pela função main ( ) independentemente da quantidade de funções que possam ter antes do main ( ).
III. Para a função fat, o parâmetro n funciona como uma variável local (ou seja, válida dentro da função apenas), juntamente com a variável res.
IV. A função fat possui a variável n e a variável n recebe seu valor no instante da chamada da função dentro da função main ( ).
Apenas as afirmativas II, III e IV estão corretas.
Apenas as afirmativas I, III e IV estão corretas.
Apenas as afirmativas I, II e III estão corretas.
Apenas as afirmativas I, II e IV estão corretas.
As afirmativas I, II, III e IV estão corretas.
Ainda não há comentários para esta questão.
Seja o primeiro a comentar!
Aulas em vídeo Em breve
00:00