Ybadoo - Soluções em Software Livre
Tutoriais
Compiladores

(Sebesta, 2000) Considere o seguinte programa em C:

void fun(void)
{
int a, b, c; /* definição 1 */
...
while(...)
{
int b, c, d; /* definição 2 */

... (1)
while(...)
{
int c, d, e; /* definição 3 */

... (2)
}
... (3)
}
... (4)
}

Para cada um dos quatro pontos marcados nessa função, liste cada variável visível, juntamente com o número da instrução de definição que a define.

 

(1) b, c e d da definição 2; a da definição 1 (b e c da definição 1 estão ocultos)

(2) c, d e e da definição 3; b da definição 2; a da definição 1; (c e d da definição 2; b e c da definição 1 estão ocultos)

(3) b, c e d da definição 2; a da definição 1 (b e c da definição 1 estão ocultos)

(4) a, b e c da definição 1

Sebesta, Robert W. (2000). Conceitos de Linguagens de Programação. 4ª edição. Porto Alegre: Bookman. 624 páginas.