(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.