GATEverse Practice, past papers & mock tests
GATE 2015 · Set-2
Programming & Data StructuresStacks & QueuesmediumNAT2 marks
Consider the C program below:
c
#include <stdio.h>
int *A, stkTop;
int stkFunc(int opcode, int val) {
    static int size = 0, stkTop = 0;
    switch (opcode) {
        case -1: size = val; break;
        case 0: if (stkTop < size) A[stkTop++] = val; break;
        default: if (stkTop) return A[--stkTop];
    }
    return -1;
}
int main() {
    int B[20]; A = B; stkTop = -1;
    stkFunc(-1, 10);
    stkFunc(0, 5);
    stkFunc(0, 10);
    printf("%d\n", stkFunc(1, 0) + stkFunc(1, 0));
}
The value printed by the above program is
Save your progress

Related Programming & Data Structures PYQs