编辑代码

#define datatype char
#define MAXSIZE 100
typedef struct
{   datatype data[MAXSIZE];
    int top;
}SEQSTACK ;
SEQSTACK *s;

void Init_Stack(SEQSTACK *s)
{ s->top=-1;
}

int Stack_Empty(SEQSTACK *s)
{   if(s->top==MAXSIZE-1)
    return 1;
    else
    return 0;
}
void Push_Stack(SEQSTACK *s,datatype x)
{   if(s->top==MAXSIZE-1)}
       printf("Stack full\n");
       else
       {    s->top++;
            s->data[s->top]=x;
            }
        }

datatype Gettop_Stack(SEQSTACK *s)
{   datatype x;
    if(Stack_Empty(s))
    {   printf("Stack empty.\n");
        x=NULL;
        }
    else
    x=s->data[s->top;]
    return x;
}

datatype Pop_Stack(SEQSTACK *s)
{   datatype x;
    if(Stack_Empty(s))
    {   printf(" Stack empty\n");
        x=NULL;
        }
    else
    {   x=s->data[s->top];
        s->top--;
        }
        return x;
}

void Clear_Stack(SEQSTACK *s)
{   s->top=-1;
}

int StackLength(SEQSTACK *s)
{   return s->top+1;
}

main()
{   SEQSTACK stack,*s;
    char ch;
    s=&stack;
    Init_Stack(s);
    scanf("%c",&ch);
    }
    printf("%d\n",StackLength(s))