#include <stdio.h>
#include <stdint.h>
#include <string.h>
#define MAX 10
typedef struct
{
int buffer[MAX];
int pointer;
} stack;
void process_stack(int n) {
stack p;
p.pointer=0;
stack*a =&p;
for(int i=0;i<n;i++)
{
char com[10];
int x;
scanf("%s", com);
scanf("%d", &x);
if(strcmp(com,"push")==0)
{
if(a->pointer == MAX)
{
printf("Stack Overflow\n");
}
else
{
a->buffer[a->pointer]=x;
a->pointer++;
}
}
else if(strcmp(com,"pop")==0)
{
if(a->pointer==0)
{
printf("Stack Underflow\n");
}
else
{
a->pointer--;
printf("%d\n", a->buffer[a->pointer]);
}
}
}
}
int main() {
int n;
scanf("%d", &n);
getchar(); // Consume newline after number
process_stack(n);
return 0;
}
Input
5 push 10 push 20 pop pop pop
Expected Output
20 10 Stack Underflow