# GATE | GATE-CS-2015 (Set 2) | Question 48

• Difficulty Level : Hard
• Last Updated : 28 Jun, 2021

Consider the C program below.

Attention reader! Don’t stop learning now.  Practice GATE exam well before the actual exam with the subject-wise and overall quizzes available in GATE Test Series Course.

Learn all GATE CS concepts with Free Live Classes on our youtube channel.

 `#include ``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 ___________
(A) 9
(B) 10
(C) 15
(D) 17

```    stkFunc (-1, 10);   // Initialize size as 10