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

Tópicos Relacionados