The GATE Grind

GATE 2025 CS (CS1) – Question 63

Programming and Data Structures · Programming in C · 2 marks · Numerical answer

Consider the following C program:

#include <stdio.h>
int gate (int n) {
    int d, t, newnum, turn;
    newnum = turn = 0; t=1;
    while (n>=t) t *= 10;
    t /=10;
    while (t>0) {
        d = n/t;
        n = n%t;
        t /= 10;
        if (turn) newnum = 10*newnum + d;
        turn = (turn + 1) % 2;
    }
    return newnum;
}
int main () {
    printf ("%d", gate(14362));
    return 0;
}

The value printed by the given C program is _______ . (Answer in integer)

Practise this question in The GATE Grind →

Show answer and explanation

Correct answer: 46

Explanation

The digits of 14362 are extracted from the left, and only those at odd positions (2nd and 4th) are appended to newnum. These digits are 4 and 6, so the result is 46.