GATE CS 2016 Set 2 — Question 47
Go beyond PYQs with Success TrackerAI-powered personalised practice and doubt support. Unlimited practice on eligible plans; AI usage limits apply.NAT+2 / -0MediumFunctions & RecursionC ProgrammingProgramming & Data StructuresPointers & Pointer ArithmeticArrays & Strings in C
Programming & Data Structures → C Programming → Arrays & Strings in C
Last updated
Question
Consider the following program:Note: returns the maximum of and .The value printed by this program is ______.
int f(int *p, int n)
{
if (n <= 1) return 0;
else return max(f(p+1,n-1),p[0]-p[1]);
}
int main()
{
int a[] = {3,5,2,6,4};
printf("%d", f(a,5));
}
Correct answer
3 to 3
Solution
The function recursively computes the maximum difference for the array and its suffixes.Trace for
a[] = {3, 5, 2, 6, 4}:1.
f(a, 5) calls max(f(a+1, 4), 3-5=-2)2.
f(a+1, 4) calls max(f(a+2, 3), 5-2=3)3.
f(a+2, 3) calls max(f(a+3, 2), 2-6=-4)4.
f(a+3, 2) calls max(f(a+4, 1), 6-4=2)5.
Unwinding:f(a+4, 1) returns 0 (base case )f(a+3, 2) = max(0, 2) = 2f(a+2, 3) = max(2, -4) = 2f(a+1, 4) = max(2, 3) = 3f(a, 5) = max(3, -2) = 3
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: Which of the following options is/are correct? [figure]