GATE CS 2017 Set 1 — Question 35
Go beyond PYQs with Success TrackerAI-powered personalised practice and doubt support. Unlimited practice on eligible plans; AI usage limits apply.MCQ+2 / -0.67MediumFunctions & RecursionC ProgrammingProgramming & Data Structures
Programming & Data Structures → C Programming → Functions & Recursion
Last updated
Question
Consider the following two functions.The output printed when
void fun1(int n) {
if(n == 0) return;
printf("%d", n);
fun2(n - 2);
printf("%d", n);
}
void fun2(int n) {
if(n == 0) return;
printf("%d", n);
fun1(++n);
printf("%d", n);
}
fun1(5) is called isCorrect answer
(A) 53423122233445
Solution
Trace
fun1(5). In fun2, ++n increments the local n before the call, so the second printf in fun2 prints the incremented value.fun1(5): print 5, callfun2(3)fun2(3): print 3,nbecomes 4, callfun1(4)fun1(4): print 4, callfun2(2)fun2(2): print 2,nbecomes 3, callfun1(3)fun1(3): print 3, callfun2(1)fun2(1): print 1,nbecomes 2, callfun1(2)fun1(2): print 2, callfun2(0)(returns immediately), print 2- back in
fun2: printn= 2 - back in
fun1(3): print 3 - back in
fun2: printn= 3 - back in
fun1(4): print 4 - back in
fun2: printn= 4 - back in
fun1(5): print 5
53423122233445.- (A) 53423122233445: matches.
- (B), (D) contain a 0, but
fun2(0)returns without printing. - (C) 53423122132435 prints the pre-increment values on the way back out of
fun2, which ignores the effect of++n.
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 C Programming
2026 Set 2 Q12The set T represents various traversals over binary tree. The set S represents the order of…2026 Set 2 Q19Consider the following three ANSI-C programs, P1, P2, and P3. P1 [code] P2 [code] **P3**…2026 Set 1 Q23Let be an odd number greater than 100. Consider a binary minheap with elements stored in an…2026 Set 1 Q24Consider a hash table that is initially empty. The hash table is maintained…2026 Set 1 Q27Consider the following C statements: [figure] Which of the following options is/are correct?