![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#include <stdio.h>
typedef struct
{
int stack[100];
int top;
}seqstack;
void stackinitiate(seqstack *s)
{
s->top=0;
}
int stacknotempty(seqstack s)
{
if (s.top<=0) return 0;
else return 1;
}
void stackpush(seqstack *s,int x)
{
s->stack[s->top]=x;
s->top++;
}
void stackpop(seqstack *s,int *x)
{
s->top--;
*x=s->stack[s->top];
}
void stacktop(seqstack *s,int *x)
{
*x=s->stack[s->top-1];
}
int main()
{
seqstack mystack;
int i,x;
stackinitiate(&mystack);
for (i=0;i<10;i++)
stackpush(&mystack,i+1);
stacktop(&mystack,&x);
printf("当前栈顶数据元素为:%d\n",x);
while (stacknotempty(mystack))
{
stackpop(&mystack,&x);
printf("%d ",x);
}
printf("\n");
return 0;
typedef struct
{
int stack[100];
int top;
}seqstack;
void stackinitiate(seqstack *s)
{
s->top=0;
}
int stacknotempty(seqstack s)
{
if (s.top<=0) return 0;
else return 1;
}
void stackpush(seqstack *s,int x)
{
s->stack[s->top]=x;
s->top++;
}
void stackpop(seqstack *s,int *x)
{
s->top--;
*x=s->stack[s->top];
}
void stacktop(seqstack *s,int *x)
{
*x=s->stack[s->top-1];
}
int main()
{
seqstack mystack;
int i,x;
stackinitiate(&mystack);
for (i=0;i<10;i++)
stackpush(&mystack,i+1);
stacktop(&mystack,&x);
printf("当前栈顶数据元素为:%d\n",x);
while (stacknotempty(mystack))
{
stackpop(&mystack,&x);
printf("%d ",x);
}
printf("\n");
return 0;