#include"stdio.h"  

#include"malloc.h"  

typedef char datatype;  

typedef struct SeqStack  

{  

    datatype elem[100];  

    int top;  

}SeqStack,*LinkList;  

 

void IniSeqStack(LinkList p)  

{  

    p->top=-1;  

}  

int push(LinkList p,datatype m)  

{  

    if(p->top==99)  

    {  

        printf("栈满了!
");  

        return 0;  

    }  

    else 

    {  

        p->top++;  

        p->elem[p->top]=m;  

        return 1;  

    }  

}  

int pop(LinkList p)  

{  

    if(p->top==-1)  

    {  

        printf("栈已经空了!
");  

        return 0;  

    }  

    else 

    {  

        while(p->top!=-1)  

        {  

            printf("%c",p->elem[p->top]);  

            p->top--;  

        }  

        return 1;  

    }  

}  

void main()  

{  

    datatype m;  

    LinkList p;  

    p=(SeqStack *)malloc(sizeof(SeqStack));  

    IniSeqStack(p);//初始化  

    while(m!='#')  

    {     

        scanf("%c",&m);  

        push(p,m);//进栈  

    }  

    pop(p);//出栈  

    putchar('
');  

    free(p);  

} 

  

本文出自 “阿凡达” 博客,请务必保留此出处http://shamrock.blog.51cto.com/2079212/817863

原文地址:https://www.cnblogs.com/umgsai/p/3908157.html