#include <stdio.h>
#define SIZE 5
int stack[SIZE];
int sp;
void push(int value);
int pop(void);
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;
}
void push(int value)
{
if(sp>=SIZE){
}else{
stack[sp++]=value;
}
}
int pop(void)
{
if(sp<=0){
printf("スタックが空で取り出せませんでした\n"); return 0;
}else{
return stack[--sp];
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNkZWZpbmUgU0laRSA1CmludCBzdGFja1tTSVpFXTsKaW50IHNwOwoKdm9pZCBwdXNoKGludCB2YWx1ZSk7CmludCBwb3Aodm9pZCk7CmludCBtYWluKHZvaWQpIHsKCXNwPTA7CglpbnQgcmVzcCwgZGF0YTsKCXdoaWxlKDEpewoJCXByaW50ZigiMTpwdXNoIDI6cG9wIDA6ZW5kOiIpOwoJCXNjYW5mKCIlZCIsJnJlc3ApOwoJCWlmKCFyZXNwKSBicmVhazsKCQlzd2l0Y2gocmVzcCl7CgkJCWNhc2UgMTogcHJpbnRmKCJwdXNoOiIpOyBzY2FuZigiJWQiLCZkYXRhKTsKCQkJIHB1c2goZGF0YSk7CgkJCWJyZWFrOwoJCQljYXNlIDI6IHBvcCgpOwoJCQlicmVhazsKCQl9CgkJcHJpbnRmKCJzcD0lZFxuIixzcCk7Cgl9CglwcmludGYoIlxuIik7Cglmb3IoaW50IGk9MDsgaTxzcDsgaSsrKXsKCQlwcmludGYoInN0YWNrWyVkXT0lZCBcbiIsaSxzdGFja1tpXSk7Cgl9CglyZXR1cm4gMDsKfQp2b2lkIHB1c2goaW50IHZhbHVlKQp7CglpZihzcD49U0laRSl7CgkJcHJpbnRmKCLjgrnjgr/jg4Pjgq/jgYzmuoDmna/jgaflhaXjgorjgb7jgZvjgpPjgafjgZfjgZ9cbiIpOwoJfWVsc2V7CgkJc3RhY2tbc3ArK109dmFsdWU7Cgl9Cn0KaW50IHBvcCh2b2lkKQp7CglpZihzcDw9MCl7CgkJcHJpbnRmKCLjgrnjgr/jg4Pjgq/jgYznqbrjgaflj5bjgorlh7rjgZvjgb7jgZvjgpPjgafjgZfjgZ9cbiIpOwoJCXJldHVybiAwOwoJfWVsc2V7CgkJcmV0dXJuIHN0YWNrWy0tc3BdOwoJfQp9