#include <stdio.h>
#include <stdint.h>
#include <string.h>
#define MAX 10
typedef struct {
int arr[MAX];
int tail;
int head=0;
int new_data;
int count=0;
} buffer;
void process_stack(int n) {
char str[4];
buffer b1;
for(int i=0;i<n;i++)
{
scanf("%s",str);
if(strcmp(str,"push")==0)
{
if(b1.count<MAX)
{
scanf("%d\n",&b1.new_data);
b1.arr[b1.count]=b1.new_data;//0:10 ///1:20
b1.count+=1;
}
else
{
printf("Stack Overflow\n");
}
}
else
{
if(b1.count>=1)
{
b1.count-=1;
printf("%d\n", b1.arr[b1.count]);
}
else
{
printf("Stack Underflow\n");
}
}
b1.head+=1;
}
}
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