- 注册时间
- 2004-10-13
- 最后登录
- 2019-5-15
⑧专业
*永恒国度*
- 积分
- 14145
|
- #include<stdio.h>
- #define maxsize 100
- typedef struct
- {
- char stack[maxsize];
- int top;
- }stacktype;
- void initstack(stacktype *s) // 初始化栈
- {
- s->top=-1;
- }
- void push(stacktype *s,char x) // 入栈
- {
- if(s->top==maxsize)
- printf("this is overflow\n");
- else
- {
- s->top++;
- s->stack[s->top]=x;
- }
- }
- void pop(stacktype *s) // 出栈
- {
- if(s->top==-1)
- printf("down overflow\n");
- else
- s->top--;
- }
- char gettop(stacktype *s) // 取栈顶元素
- {
- if(s->top==-1)
- printf("this is null\n");
- else
- return(s->stack[s->top]);
- }
- int empty(stacktype *s) // 判断是否为空
- {
- if(s->top==-1)
- return 1;
- else
- return 0;
- }
- void display(stacktype *s) // 显示栈中元素
- {
- int i;
- printf("middle element :");
- for(i=s->top;i>=0;i--)
- printf("%c ",s->stack[i]);
- printf("\n");
- }
- void main()
- {
- stacktype *st;
- printf("build a inn\n");
- initstack(st);
- printf("inn null:%d\n",empty(st));
- printf("please insert element\n");
- push(st,'a');
- push(st,'b');
- push(st,'c');
- push(st,'d');
- display(st);
- printf("delete onetime\n");
- pop(st);
- printf("top element :%c\n",gettop(st));
- printf("delete onetime\n");
- pop(st);
- display(st);
- }
复制代码 为什么会报错呢?但是运行是可以的??[s:3][s:3] |
|