GATE CS 2019 Set 1 — Question 37
Go beyond PYQs with Success TrackerAI-powered personalised practice and doubt support. Unlimited practice on eligible plans; AI usage limits apply.MCQ+2 / -0.67MediumControl FlowC ProgrammingProgramming & Data StructuresStorage Classes
Programming & Data Structures → C Programming → Control Flow
Last updated
Question
Consider the following C program:Which one of the following values will be displayed on execution of the programs?
#include <stdio.h>
int r(){
static int num=7;
return num--;
}
int main(){
for (r();r();r())
printf("%d",r());
return 0;
}
Correct answer
(B) 52
Solution
The function
r() contains a static variable num initialized to 7. It returns the current value of num and then decrements it (post-decrement).Calls to r() return: 7, 6, 5, 4, 3, 2, 1, 0, -1, ...The for loop structure is for (initialization; condition; increment) body.Execution trace:1.Initialization:
r() is called. Returns 7. num becomes 6.2.Condition:
r() is called. Returns 6. num becomes 5. Condition (6) is true (non-zero).3.Body:
printf("%d", r()) is executed.r()is called. Returns 5.numbecomes 4.- Prints 5.
r() is called. Returns 4. num becomes 3.5.Condition:
r() is called. Returns 3. num becomes 2. Condition (3) is true.6.Body:
printf("%d", r()) is executed.r()is called. Returns 2.numbecomes 1.- Prints 2.
r() is called. Returns 1. num becomes 0.8.Condition:
r() is called. Returns 0. num becomes -1. Condition (0) is false.9.Loop terminates.
The output is 52.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]