Parameter-Passing

Question 1

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 static scoping and call by need parameter passing mechanism, the values printed by the above program are

A
115, 220
B
25, 220
C
25, 15
D
115, 105
Question 1 Explanation: 
P(i+j)
P(100+5) = P(105)
→void P(105)
{   
int i=10;   
print (x+10);  ⇒ 105+10=115 prints
  i=200;  
  j = 20;  
  print (x);  ⇒ x=105 prints
}  
115, 105 prints
There is 1 question to complete.

Access quiz wise question and answers by becoming as a solutions adda PRO SUBSCRIBER with Ad-Free content

Register Now

If you have registered and made your payment please contact solutionsadda.in@gmail.com to get access