【求助】错误在哪儿
#include<stdio.h> /*头文件*/#define MAX 100 /*栈的大小*/
typedef struct /*===栈的定义===*/
{
char data[MAX];
int top;
}SqStack;
int InitStack_sq(SqStack S) /*===栈的初始化===*/
{
S.top=-1;
return 0;
}
int StackEmpty_sq(SqStack S) /*===判断栈空===*/
{
if(-1==S.top) return 1;
return 0;
}
int StackFull_sq(SqStack S) /*===判断栈满===*/
{
if(MAX-1==S.top)
return 1;
return 0;
}
int StackLength_sq(SqStack S) /*===栈的长度===*/
{
return S.top+1;
}
int Push_sq(SqStack S,char x) /*===元素进栈===入口参数*/
{ if(StackFull_sq(S))
return -1; /*栈满,返回错误标志*/
S.top=S.top+1; /* 栈顶指针加1 */
S.data[S.top]=x; /* e成为新的栈顶 */
return 0; /* 压栈成功 */
}
int Pop_sq(SqStack S,char y) /*===元素出栈===*/
{ if (StackEmpty_sq (S))
return -1; /*栈空,返回错误标志*/
y=S.data[S.top];
S.top=S.top-1 ;
return 0;
}
void main()
{SqStack M;
char m='c';
int Push_sq(SqStack S,char x);
Push_sq(M,m);
printf("%s",M.data[MAX]);
getch();
}