In main procedure value of i is 10
Now in static scoping when main is called global variable i becomes 10.
then f() called , global variable i value becomes 20
Now g() is called. g() has no local variable of it's own . So, it takes the value of global i , and prints i=20
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Now in dynamic scoping main is called , global variable i becomes 10.
then f() called, but it won't change the value of global variable i .
Now g() called and here i is not declared, So, it takes the value from previous scope of f() , i.e. i=20
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
So, Ans C) 20,20