求助,不知道错那里了。
来源:互联网 发布:it监控 编辑:程序博客网 时间:2024/05/06 15:11
初学栈,便写了一个顺序栈的操作,但不知道那里错了,求帮助啊···········
希望大神能帮助,帮助小白,感谢感谢。。。。。
#include<stdio.h>#include<stdlib.h>#define MAXSIZE 40 //最大空间#define ADDSIZE 40//增加的空间#define SORRY 0#define OK 1//顺序栈typedef struct stack{ int *top;//栈顶 int *base;//栈底 int nowsize;//当前大小}sqstack;//initstackint initstack(sqstack &s){ s.base=(int*)malloc(MAXSIZE*sizeof(int)); if(!s.base) exit(SORRY); else { s.base=s.top; exit(OK); } s.nowsize=MAXSIZE; return 0;}//Gettop//返回栈顶元素int gettop(sqstack &s){ int *e; if(!s.base) exit(SORRY); else { e=s.top--; printf("%d",*e); } return 0;}//Push//插入一个元素为栈顶元素int PUSH(sqstack &s,int e){ if(s.top-s.base>=s.nowsize)//判断栈满 s.base=(int*)realloc(s.base,(s.nowsize+ADDSIZE)*sizeof(int)); if(!s.base) exit(SORRY); else { s.top=s.base+s.nowsize; s.nowsize=s.nowsize+ADDSIZE; } *s.top=e; s.top++; return 0;}//pop//删除栈顶元素int POP(sqstack &s){ int e; if(s.top==s.base) exit(SORRY); else e=*--s.top; return e;}int main(){ sqstack A; initstack(A); printf("IN:\n"); int i=0,m=0; for(i=0;i<5;i++)//入栈 { scanf("%d",&m); PUSH(A,m); } printf("OUT:\n"); for(i=0;i<5;i++) { printf("%d",POP(A)); } return 0;}
阅读全文
0 0
- 求助,不知道错那里了。
- 自己写了一个程序,不知道错那了,大家帮忙看看
- 求助数据类型转换不知道错哪里了
- ubuntu 终端里出现了“确定”不知道如何点击
- 我不知道我怎么了。。。。最近一年里不知道自己是怎么度过的。。。。。
- 不知道怎么办了?
- 不知道怎么了???
- 不知道怎么办了
- 不知道咋了
- 不知道,不明了
- vs2005 里工具箱内控件不知道怎么没有了解决办法
- 在一个活动中调用碎片里的方法,不知道哪里出错了
- [求助]WebBrower控件里的内容复制不出来
- 毕业了不知道干什么
- 不知道写什么了
- 问题解决了,原因不知道
- oracle里几个不知道的问题
- 手机里你不知道的功能
- Sum All Odd Fibonacci Numbers
- poj日记(2965)java
- FCN-加载训练与测试数据
- switch fall-through
- [leetcode]第13周作业
- 求助,不知道错那里了。
- 自编码器简介
- sources.list文件
- Java基础知识学习之路-06-第五章-面向对象(上)
- echarts版百分比堆叠柱状图
- 第13周 Longest Continuous Increasing Subsequence
- Lucene之索引的增删改查-yellowcong
- shell使用sql脚本进行sqlite3数据库更新
- BZOJ1011 [HNOI2008]遥远的行星 【奇技淫巧】