帮忙查查那出错了-关于C语言栈的程序

来源:百度知道 编辑:UC知道 时间:2024/06/01 08:14:02
很简单的 只要最终把main函数里的东西输出就行 但不知道那出错了
谢谢了
#include<stdio.h>

typedef int datatype;
#define maxsize 64
typedef struct
{
datatype data[maxsize];
int top;
}seqstack;

void SETNULL(seqstack *s)
{
s->top=-1;
}

bool empty(seqstack *s)
{
if(s->top>=0)
return 0;
else
return 1;
}

seqstack *push(seqstack *s,datatype x)
{
if(s->top==maxsize-1)
{
count<<"Overflow!"<<endl;
return NULL;
}
else
{
s->top++;
s->data[s->top]=x;
}
return s;
}

datatype pop(seqstack *s,datatype x)
{
if(empty(s))
{
printf("Underflow!");break;
}
else
{
s->top--;
x=s->data[s->top+1];
}
return s;
}

void main()
{
seqstack s;
char x='c

#include<stdio.h>
#include <iostream> //添加此行
using namespace std; //添加此行 添加这两行才能用cout输出

typedef char datatype; //你主函数要压入的数据是char型,所以这里改成char
#define maxsize 64
typedef struct
{
datatype data[maxsize];
int top;
}seqstack;

void SETNULL(seqstack *s)
{
s->top=-1;
}

bool empty(seqstack *s)
{
if(s->top>=0)
return 0;
else
return 1;
}

seqstack *push(seqstack *s,datatype x)
{
if(s->top==maxsize-1)
{
cout<<"Overflow!"<<endl; //cout!!!!
return NULL;
}
else
{
s->top++;
s->data[s->top]=x;
}
return s;
}

datatype pop(seqstack *s,datatype &x) //修改
{
if(empty(s))
{
cout<<"Underflow!"<<endl; //cout!!!!
}
else
{
s->top--;
x=s->data[s-