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