GATE CS 2015 Set 3 — Question 42
Go beyond PYQs with Success TrackerAI-powered personalised practice and doubt support. Unlimited practice on eligible plans; AI usage limits apply.NAT+2 / -0MediumStorage ClassesC ProgrammingProgramming & Data StructuresFunctions & Recursion
Programming & Data Structures → C Programming → Functions & Recursion
Last updated
Question
Consider the following C program.The output of the program is ________.
#include<stdio.h>
int f1(void);
int f2(void);
int f3(void);
int x = 10;
int main( )
{
int x = 1;
x += f1( ) + f2( ) + f3( ) + f2( );
printf("%d", x);
return 0;
}
int f1( ) { int x = 25; x++; return x;}
int f2( ) { static int x = 50; x++; return x;}
int f3( ) { x *= 10; return x;}
Correct answer
230 to 230
Solution
Let's trace the execution:
1.Global variable
x is initialized to 10.2.In
main, a local variable x is initialized to 1.3.The expression
x += f1() + f2() + f3() + f2() is evaluated. The order of function calls is not strictly defined in C, but since addition is commutative and the side effects are on different variables (mostly), we can evaluate them:f1(): Localxis 25, increments to 26. Returns 26. (Globalxis untouched).f2()(1st call): Staticxis 50, increments to 51. Returns 51.f3(): Modifies globalx. Globalxbecomes . Returns 100.f2()(2nd call): Staticxis 51, increments to 52. Returns 52.
4.The local
x in main is updated: x = x + 229 x = 1 + 229 = 230.5.
printf prints the local x, which is 230.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]