求帮忙看下以下程序有什么问题,在线等,急。。
# include
# include
# define MAXSIZE 1024
typedef struct
{char c[MAXSIZE];
int top;
}seqstack;
typedef struct
{char sc[MAXSIZE];
int rear,prior;
int num; /*记录队列中元素个数*/
}squeue;
seqstack * Initstack(void)
{
seqstack *s;
s=(seqstack *)malloc(sizeof(seqstack));
s->top=-1;
return s;
}
squeue *Initsqueue(void)
{squeue *s;
s=(squeue *)malloc(sizeof(squeue));
s->prior=s->rear=-1;
s->num=0;
return s;
}
void push (seqstack *s,char x)
{
if(s->top==MAXSIZE-1)
{
printf("栈已满\n");
exit(1);
}
else
{
s->top++;
s->c[s->top]=x;
}
}
int pop(seqstack *s,char *x)
{
if(s->top==0)
{printf("栈空\n");
return -1;
}
else{
*x=s->c[s->top];
s->top--;
return 1;
}
}
int EnQueue(squeue *s,char x)
{
if(s->num==MAXSIZE)
{printf("队列已满\n");
return -1;
}
else
s->rear=(s->rear+1)%MAXSIZE;
s->sc[s->rear]=x;
s->num++;
return 1;
}
int Outqueue(squeue *s,char *x)
{
if(s->num==0)
{
printf("队列空\n");
return -1;
}
else
{
s->prior=(s->prior+1)%MAXSIZE;
*x=s->sc[s->prior];
s->num--;
return 1;
}
}