Programming and Data Structures · Programming in C
Official IIT answer key · IIT Roorkee · Audited Aug 2026
GATE CSE 2017 Set 1 Q55 · NAT · 2 marks
#include <stdio.h>
int total(int v) {
static int count = 0;
while(v) {
count += v&1;
v >>= 1;
}
return count;
}
void main() {
static int x = 0;
int i = 5;
for(; i > 0; i--) {
x = x + total(i);
}
printf("%d
", x);
}Key concept
No account needed
Sit 5 related Programming in CPYQs as a guest. We'll score the set and show which traps cost marks — sign in only if you want to save the run.
Topic notes
In GATE CS, Programming in C is tested extensively through rigorous code tracing, pointer mechanics, and fundamental semantics rather than high-level syntax trivia. Questions emphasize pointer arithmetic and multidimensional array decay, storage classes (especially static local variables), evaluation order, side effects of increment/decrement operators, parameter passing mechanisms (pass-by-value vs pass-by-reference), and recursive program state tracking. The topic features a nearly balanced split between NAT and MCQ items across 1-mark and 2-mark categories, demanding precise, bug-free execution traces without a compiler.
Full Programming in C guide →The output of executing the following C program is … #include int total(int v) static int count = 0; while(v) count += v&1; v >>= 1; return count; void main() static int x = 0; int i = 5; for(; i > 0; i--) x = x + total(i); printf("%d ", x);
Topic-wise GATE CS PYQs with verified steps
Independent practice explanation verified by the GateAI team. GATE is conducted by the IITs; question text follows the official paper.
