Q. 21 The following program fragment is written in a programming language that allows
variables and does not allow nested declarations of functions.
global int i=100, j=5; void P(x){ int i=10 print (x+10); i+200; j=20; print (x); } main () {P(i+j);}
If the programming language uses dynamic scoping and call by name parameter
passing mechanism, the values printed by the above program are
(A) 115, 220
(B) 25, 220
(C) 25, 15
(D) 115, 105
Answer: (B)
Explanation: