qian言wan语 2016-03-06 14:16 采纳率: 0%
浏览 1588
已采纳

这段代码有什么错误,为什么输入后就不能运行了??

#include
#define MAX 100

//顺序栈的定义
typedef struct{
int *base;
int *top;
int stacksize;
}SqStack;

//初始化
int InitStack(SqStack &S){
S.base=new int[MAX];
if(!S.base){
return 0;
}
S.base=S.top;
S.stacksize=MAX;
return 1;
}

//入栈
int Push_S(SqStack &S,int e){
//将元素e入栈
if(S.top-S.base==S.stacksize){//判断栈是否满
return 0;
}
S.top++=e;
//S.top+=1;
return 1;
}
//出栈
int Pop_S(SqStack &S,int &e){
//用e返回出栈的元素
if(S.top==S.base){//栈空
return 0;
}
e=
--S.top;
return 1;
}

int main(){
SqStack S;
if(InitStack(S)){
printf("顺序栈初始化成功!\n");
}else{
printf("顺序栈初始化失败!\n");
}

printf("请输入入栈元素:");
int e1;
scanf("%d",&e1);
if(Push_S(S,e1)){
    printf("入栈成功!\n");
}else{
    printf("入栈失败!\n");
}

}

  • 写回答

2条回答 默认 最新

  • threenewbee 2016-03-06 14:26
    关注

    S.base=S.top;
    写反了
    S.top=S.base;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • Jimbo 2016-03-06 15:27
    关注

    S.top++=e; 这种写法是要拉去打靶的,虽然编译通过,但是在软件开发中给后人的维护带来头痛感daba

    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 宾馆客房管理系统可视化
  • ¥20 unity打光没有照亮物体
  • ¥25 powershell如何拷贝1周前的文件
  • ¥15 询问MYSQL查询SQLSERVER数据表并比较差异后,更新MYSQL的数据表
  • ¥15 关于#前端#的问题,请各位专家解答!
  • ¥15 最小生成树问题 Prim算法和Kruskal算法
  • ¥25 医院住院病人呼叫器设计
  • ¥15 不想和现在的团队合作了,怎么避免他们对程序动手脚
  • ¥20 C语言字符串不区分大小写字典排序相关问题
  • ¥15 关于#python#的问题:我希望通过逆向技术爬取1688搜索页下滑加载的数据