Gate2003_74

The following program fragment is written in a programming language that allows global 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

Discuss

0Comment