Home » Programming & Data Structure » Programming and data structure miscellaneous » Question

Programming and data structure miscellaneous

Programming & Data Structure

Direction: The following program fragment is written in a progrmming language that allows global variable and does not allow nested declrations 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);}

  1. If the programming language uses static scoping and call by need parameter passing mechanism, the values printed by the above program are
    1. 115, 220
    2. 25,220
    3. 25,15
    4. 115, 105
Correct Option: D

In static scoping the variables are initialized at compile time only
So i = 100 &j = 5
P (i + j) = P (100 + 5) = P(105)
So x = 105
x + 10 = 105 + 10 = 115
So 115 & 105 will be printed.
Hence (d) is correct option.



Your comments will be displayed only after manual approval.