meng250258 2022-10-25 16:39 采纳率: 0%
浏览 39

问题和代码放下面了,为什么会错呀,

img


#include<bits/stdc++.h>

#define MaxSize 100

using namespace std;

typedef int ElemType;

struct SqStack{

ElemType date[MaxSize];

int top;

};

void InitStack(SqStack* &S){

S=(SqStack*)malloc(sizeof(SqStack));//初始化栈

S->top =-1;

}

void Push(SqStack* & S,ElemType M,ElemType &e){//放 有多少个数的 M, 和 e (用来接收退栈的元素)

int date;//建立一个date 表示放入栈的元素

while(int n=0<M){//不超过 M,代表后面有 M 个数据

cin>>date;//输入数据

if(date!=-1){//如果不是-1 进栈

S->top++;

S->date[S->top]=date;

}

else if(date==-1){//如果是-1

if(S->top==-1){ //判断这个时候top 虽不是-1,如果所输出错误

cout<<"ERROR" <<endl;

}

else{//如果不是-1,退栈

e=S->date[S->top];

S->top--;

}

}

n++;//n++

}

if(S->top==-1){//while 循环完之后,如果是空的输出 空

cout<<"EMPTY" <<endl;

}

}

void GetTop(SqStack*S,ElemType&e){//取栈顶元素

e=S->date[S->top];

cout<<e<<endl;

}

int main(){

SqStack *S;

ElemType M;

ElemType e=0;

cin>>M;//设置有多少个元素

Push(S,M,e);

GetTop(S,e);

return 0;

}

img

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2022-10-25 16:55
    关注

    main函数里,Push函数之前,加上InitStack(S)啊,你不初始化就用,不死才怪啊

    评论

报告相同问题?

问题事件

  • 创建了问题 10月25日

悬赏问题

  • ¥15 三分类机器学习模型可视化分析
  • ¥15 本地测试网站127.0.0.1 已拒绝连接,如何解决?(标签-ubuntu)
  • ¥50 Qt在release捕获异常并跟踪堆栈(有Demo,跑一下环境再回答)
  • ¥30 python,LLM 文本提炼
  • ¥15 关于将inet引入的相关问题
  • ¥15 关于一个倒计时的操作和显示设计
  • ¥15 提问STK的问题,哪位航天领域的同学会啊
  • ¥15 苹果系统的mac m1芯片的笔记本使用ce修改器使用不了
  • ¥15 单相逆变的电压电流双闭环中进行低通滤波PID算法改进
  • ¥15 关于#java#的问题,请各位专家解答!