一个关于栈的小问题,麻烦各位大大了
#include "stdio.h"#define maxsize 100
typedef char datatype;
typedef struct
{
datatype data[maxsize];
int top;
int stacksize;
}seqstack;
void INITSTACK(seqstack * s)
{
s->top=-1;
s->stacksize=maxsize;
}
void PUSH(seqstack * s,int x)
{
if(s->top=maxsize-1)
{
printf("overflow");
return NULL;
}
s->top++;
s->data[s->top]=x;
}
int POP(seqstack * s)
{
if(s->top==-1)
{
printf("underflow");
return NULL;
}
return(s->data[s->top]);
s->top--;
}
void print()
{
seqstack * s;
int x;
INITSTACK(s);
printf("请输入数字:");
scanf("%d",&x);
while(x!=-1)
{
PUSH(s,x);
scanf("%d",&x);
}
while(s->top!=-1)
{
x=POP(s);
printf("%d",x);
}
}
void main()
{
print();
}
麻烦看看程序错在哪边? 谢谢了