seqstack *PUSH(seqstack *S,datatype x)
{
if(FULL(S))
{
printf("栈满~");
return 0;
}
else
{ S->top++;
S->stack[S->top]=x;
}
return (S);
}
int EMPTY(seqstack *S)
{
if(S->top<0)
{
printf("栈空");
return 1;
}
else
return 0;
}
int POP(seqstack *S)
{
datatype x;
if(EMPTY(S))
{
printf("栈空");
return 0;
}
else
{
x=S->stack[S->top];
S->top--;
return x;
}
}
main()
{ S=&B;//注意
seqstack *PUSH(seqstack *S,datatype x);
void INITSTACK(seqstack *S);
INITSTACK(&B);//注意
int x;
printf("请输入以批整数以-1结束\n");
scanf("%d",&x);
while(x!=-1)
{
PUSH(S,x);
scanf("%d",&x);
}
while(S->top!=-1)
{
printf("%d",POP(S));
}
}