(Price, 2005) Considere o seguinte programa escrito na sintaxe C:
void xpto(int x, int y, int z)
{
x = y + 1;
z = x + y;
}
void main()
{
int a = 3;
int b = 5;
xpto(a, a + b, b);
printf("%d - %d", a, b);
}
Para cada um dos métodos de passagem de parâmetros a seguir, quais são os valores impressos pelo programa.
Variável | Inicial | xpto(a, a + b, b) |
---|---|---|
a | 3 | 3 |
b | 5 | 5 |
x | 3 9 | |
y | 8 | |
z | 5 17 |
Variável | Inicial | xpto(a, a + b, b) |
---|---|---|
a | 3 | 3 9 |
b | 5 | 5 17 |
x | a | |
y | 8 | |
z | b |
Variável | Inicial | xpto(a, a + b, b) |
---|---|---|
a | 3 | 3 9 |
b | 5 | 5 23 |
x | a | |
y | a + b | |
z | b |
Variável | Inicial | xpto(a, a + b, b) |
---|---|---|
a | 3 | 3 9 |
b | 5 | 5 17 |
x | 3 9 (a) | |
y | 8 | |
z | 5 17 (b) |
Price, Ana Maria de Alencar. (2005). Implementação de Linguagens de Programação: compiladores. 3ª edição. Porto Alegre: Instituto de Informática da UFRGS: Sagra Luzzatto. 212 páginas.