GATE CS 2016 Set 1 — Question 46
Go beyond PYQs with Success TrackerAI-powered personalised practice and doubt support. Unlimited practice on eligible plans; AI usage limits apply.MCQ+2 / -0.67MediumParameter PassingRuntime EnvironmentsCompiler DesignScoping (Static, Dynamic)Semantic Analysis
Compiler Design → Runtime Environments → Parameter Passing
Last updated
Question
What will be the output of the following pseudo-code when parameters are passed by reference and dynamic scoping is assumed?
a=3;
void n(x) {x = x * a; print(x);}
void m(y) {a = 1; a = y - a; n(a); print(a);}
void main() {m(a);}
Correct answer
(D) 4, 4
Solution
Let's trace the execution with Pass by Reference and Dynamic Scoping.
1.Global:
a = 3.2.
main(): Calls m(a). The global a is passed by reference to m's parameter y.-
yis an alias for globala.
m(y):-
a = 1: Since this is pseudo-code andais assigned a value, we assumeais a local variable inm(otherwise, if it modified globala, the output would be 0,0 which is not an option). So,mhas a locala = 1. -
a = y - a:yrefers to globala(3). Localais 1. So, locala = 3 - 1 = 2. -
n(a): Callsnpassing locala(value 2) by reference.
n(x):-
xis an alias form's locala. -
x = x * a: We need to resolve the variablea. - Dynamic Scoping: We look up the call stack. The caller is
m. Doesmhave a variable nameda? Yes,mhas a locala. - So,
ain the expression refers tom's locala(which is 2). -
xalso refers tom's locala(passed by reference). - The statement becomes:
m.a = m.a * m.a=>m.a = 2 * 2 = 4. -
print(x): Prints 4.
m(y):-
print(a): Prints locala. Sincen(x)modified it via reference, localais now 4. - Prints 4.
Continue learning with Success Tracker
A step still unclear? Work through it with support
Use Success Tracker to ask about the reasoning, then try another GATE CS question to check your understanding.
AI-powered practice· Unlimited practice on eligible plans
- PYQs with solutions
- Attempt available previous-year questions, then compare your reasoning with the worked solution. Coverage varies by stream.
- Practice that adapts
- Choose a topic, work on weaker areas and bookmark questions to revisit. Your attempts feed your progress tracking.
- AI doubt support
- Ask follow-up questions about a step or concept while practising, instead of stopping at the final answer.
Unlimited practice is available on eligible plans. Free practice and AI usage have limits; check the current plan allowances before choosing.
This page stays readable without an account. AI responses can be wrong; check them against the solution and source material.
More questions on Runtime Environments
2026 Set 2 Q17In C runtime environment, which one of the following is stored in heap?2026 Set 2 Q19Consider the following three ANSI-C programs, P1, P2, and P3. P1 [code] P2 [code] **P3**…2026 Set 1 Q27Consider the following C statements: Which of the following options is/are correct? [figure]2026 Set 1 Q28Which of the following statements is/are true?2026 Set 2 Q35A lexical analyzer uses the following token definitions - - …