GATE CSE 2024 Session 2 Q13: Output when function arguments are evaluated right to left
- Programming and Data Structures
- 1 mark
- MCQ
- −1/3 if wrong
Question
Consider the following C program. Assume parameters to a function are evaluated from right to left.
#include <stdio.h>
int g(int p) { printf("%d", p); return p; }
int h(int q) { printf("%d", q); return q; }
void f(int x, int y) {
g(x);
h(y);
}
int main() {
f(g(10),h(20));
}Which one of the following options is the CORRECT output of the above C program?
Try it: multiple choice: exactly one correct option
Show answer and explanation
Answer: A (official GATE 2024 final answer key)
Concept used: Argument evaluation order decides the order of side effects (prints) before the call.
First step: Right to left: h(20) prints first, then g(10); inside f, g(x) and h(y) print in program order.
Full step-by-step solution
Detailed working, common mistakes and linked mock tests will be available with a free GATEiit account. Log-in is coming soon.
Share this question
Source: official GATE 2024 Session 2 CS question paper and final answer key, organised by IISc Bangalore. Question paper · Answer key
More Programming and Data Structures PYQs
- 2026 Session 1 · Q23Non-leaf indices in a 1-indexed binary heap with n odd
- 2026 Session 1 · Q24Empty slots after linear-probing inserts with h(x) = (x+7) mod 11
- 2026 Session 1 · Q33Maximum height of a full binary tree with 23 nodes
- 2026 Session 1 · Q34Output of a C function with a shadowed block variable
- 2026 Session 1 · Q39Recursive length of a non-empty singly linked list
- 2026 Session 1 · Q40Third insertion that can never yield a complete BST of 1..15