-
What will be the output of the following pseudo-code when parameters are passed by reference and dynamic scoping is assumed?
a = 3;
void n(x) {x = x * a; print(x);}
void m(y) {a = 1; a = y – a; n(a); print(a);}
void main() {m(a);}
-
- 6, 2
- 6, 6
- 4, 2
- 4, 4
- 6, 2
Correct Option: D
Dynamic scoping refers to definition of free variable in the reverse order of calling sequence.