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 programme language uses dynamic scoping and call by name 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: B

In dynamic scoping, the local values are considered & variables are initialized at run time.
Since x = i + j & in P (x)
i = 200 &j = 20 x = 200 + 20 = 220
& printing (x + 10)
9. = i + j + 10 = 10 + 5 + 10 = 25
Hence (b) is correct option



Your comments will be displayed only after manual approval.