#include <stdio.h>
#define SIZE 5
int stack[SIZE];
int sp;
void push(int value) {
if (sp < SIZE) {
stack[sp++] = value;
} else {
}
}
int pop(void) {
if (sp > 0) {
return stack[--sp];
} else {
return -1;
}
}
int main(void) {
sp = 0;
int resp, data;
while (1) {
printf("1:push 2:pop 0:end : ");
if (!resp) break;
switch (resp) {
case 1:
push(data);
break;
case 2:
pop();
break;
}
for (int i = 0; i < sp; i++) {
printf("stack[%d]=%d\n", i
, stack
[i
]); }
} // ← ここに while を閉じるカッコが必要です
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNkZWZpbmUgU0laRSA1CgppbnQgc3RhY2tbU0laRV07CmludCBzcDsKCnZvaWQgcHVzaChpbnQgdmFsdWUpIHsKICAgIGlmIChzcCA8IFNJWkUpIHsKICAgICAgICBzdGFja1tzcCsrXSA9IHZhbHVlOwogICAgfSBlbHNlIHsKICAgICAgICBwcmludGYoIlN0YWNrIE92ZXJmbG93XG4iKTsKICAgIH0KfQoKaW50IHBvcCh2b2lkKSB7CiAgICBpZiAoc3AgPiAwKSB7CiAgICAgICAgcmV0dXJuIHN0YWNrWy0tc3BdOwogICAgfSBlbHNlIHsKICAgICAgICBwcmludGYoIlN0YWNrIFVuZGVyZmxvd1xuIik7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfQp9CgppbnQgbWFpbih2b2lkKSB7CiAgICBzcCA9IDA7CiAgICBpbnQgcmVzcCwgZGF0YTsKCiAgICB3aGlsZSAoMSkgewogICAgICAgIHByaW50ZigiMTpwdXNoIDI6cG9wIDA6ZW5kIDogIik7CiAgICAgICAgc2NhbmYoIiVkIiwgJnJlc3ApOwoKICAgICAgICBpZiAoIXJlc3ApIGJyZWFrOwoKICAgICAgICBzd2l0Y2ggKHJlc3ApIHsKICAgICAgICAgICAgY2FzZSAxOiAKICAgICAgICAgICAgICAgIHByaW50ZigicHVzaCA6ICIpOyAKICAgICAgICAgICAgICAgIHNjYW5mKCIlZCIsICZkYXRhKTsKICAgICAgICAgICAgICAgIHB1c2goZGF0YSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAyOiAKICAgICAgICAgICAgICAgIHBvcCgpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQoKICAgICAgICBwcmludGYoIlxuIik7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzcDsgaSsrKSB7CiAgICAgICAgICAgIHByaW50Zigic3RhY2tbJWRdPSVkXG4iLCBpLCBzdGFja1tpXSk7CiAgICAgICAgfQogICAgfSAvLyDihpAg44GT44GT44GrIHdoaWxlIOOCkumWieOBmOOCi+OCq+ODg+OCs+OBjOW/heimgeOBp+OBmQoKICAgIHJldHVybiAwOwp9