Considere o seguinte programa C esquemático:
void main()
{
int a, b, c;
...
}
void fun1()
{
int b, c, z;
...
}
void fun2()
{
int c, y, z;
...
}
void fun3()
{
int x, y, z;
...
}Dadas as seguintes sequências de chamada e supondo-se que seja usado o escopo dinâmico, quais variáveis são visíveis durante a execução da última função chamada? Inclua, em cada variável visível, o nome da função em que ela foi definida
main chama fun1; fun1 chama fun2; fun2 chama fun3.main chama fun1; fun1 chama fun3.main chama fun2; fun2 chama fun3; fun3 chama fun1.main chama fun3; fun3 chama fun1.main chama fun1; fun1 chama fun3; fun3 chama fun2.main chama fun3; fun3 chama fun2; fun2 chama fun1.a. main chama fun1; fun1 chama fun2; fun2 chama fun3.
x, y e z de fun3; c de fun2; b de fun1; a de main (y e z de fun2; c e z de fun1; b e c de main estão ocultos)
b. main chama fun1; fun1 chama fun3.
x, y e z de fun3; b e c de fun1; a de main (z de fun1; b e c de main estão ocultos)
c. main chama fun2; fun2 chama fun3; fun3 chama fun1.
b, c e z de fun1; x e y de fun3; a de main (z de fun3; c, y e z de fun2; b e c de main estão ocultos)
d. main chama fun3; fun3 chama fun1.
b, c e z de fun1; x e y de fun3; a de main (z de fun3; b e c de main estão ocultos)
e. main chama fun1; fun1 chama fun3; fun3 chama fun2.
c, y e z de fun2; x de fun3; b de fun1; a de main (y e z de fun3; c e z de fun1; b e c de main estão ocultos)
f. main chama fun3; fun3 chama fun2; fun2 chama fun1.
b, c e z de fun1; y de fun2; x de fun3; a de main (c e z de fun2; y e z de fun3; b e c de main estão ocultos)