#include <stdio.h>
#define SIZE 5
int stack[SIZE];
int sp;
void push(int data) {
if (sp < SIZE) {
stack[sp++] = data;
} else {
}
}
void pop() {
if (sp > 0) {
sp--;
printf("popped: %d\n", stack
[sp
]); } else {
}
}
int main(void)
{
sp = 0;
int resp, data;
while(1){
printf("1: push 2: pop 0: end : ");
if(!resp) break;
switch(resp){
push( data );
break;
case 2: pop();
break;
}
}
for(int i=0; i<sp; i++){
printf("stack[%d]=%d \n", i
, stack
[i
]); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFNJWkUgNQppbnQgc3RhY2tbU0laRV07CmludCBzcDsKCnZvaWQgcHVzaChpbnQgZGF0YSkgewogICAgaWYgKHNwIDwgU0laRSkgewogICAgICAgIHN0YWNrW3NwKytdID0gZGF0YTsKICAgIH0gZWxzZSB7CiAgICAgICAgcHJpbnRmKCJTdGFjayBPdmVyZmxvd1xuIik7CiAgICB9Cn0Kdm9pZCBwb3AoKSB7CiAgICBpZiAoc3AgPiAwKSB7CiAgICAgICAgc3AtLTsKICAgICAgICBwcmludGYoInBvcHBlZDogJWRcbiIsIHN0YWNrW3NwXSk7CiAgICB9IGVsc2UgewogICAgICAgIHByaW50ZigiU3RhY2sgVW5kZXJmbG93XG4iKTsKICAgIH0KfQoKCmludCBtYWluKHZvaWQpCnsKICAgIHNwID0gMDsKICAgIGludCByZXNwLCBkYXRhOwoKICAgIHdoaWxlKDEpewogICAgICAgIHByaW50ZigiMTogcHVzaCAgMjogcG9wICAwOiBlbmQgOiAiKTsKICAgICAgICBzY2FuZigiJWQiLCAmcmVzcCk7CgogICAgICAgIGlmKCFyZXNwKSBicmVhazsKCiAgICAgICAgc3dpdGNoKHJlc3ApewogICAgICAgICAgICBjYXNlIDE6IHByaW50ZigicHVzaCA6ICIpOyAKICAgICAgICAgICAgc2NhbmYoIiVkIiwgJmRhdGEpOwogICAgICAgICAgICAgICAgICAgIHB1c2goIGRhdGEgKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAyOiBwb3AoKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgcHJpbnRmKCJzcD0lZFxuIiwgc3ApOwogICAgfQoKICAgIHByaW50ZigiXG4iKTsKICAgIGZvcihpbnQgaT0wOyBpPHNwOyBpKyspewogICAgICAgIHByaW50Zigic3RhY2tbJWRdPSVkIFxuIiwgaSwgc3RhY2tbaV0pOwogICAgfQoKICAgIHJldHVybiAwOwp9