永发信息网

c语言错误,求解答

答案:3  悬赏:40  手机版
解决时间 2021-06-07 16:18
  • 提问者网友:情歌越听越心酸
  • 2021-06-06 17:59

我照着书编了堆栈

怎么有64个错误

好心人帮忙看看

谢谢了

#include <stdio.h>
#include <malloc.h>

#define TRUE 1
#define FLASH 0

typedef struct STACK
{
MYTYPE *pd;
int MaxSize;
int Top;
}STACK;

STACK InitStack(int MaxSize);
void DestroyStack(STACK *t);
int isStackFull(STACK t);
int isStackEmpty(STACK t);
int Push(STACK *st,MYTYPE *data);
int Pop(STACK *st,MYTYPE *date);
int Top(STACK st,MYTYPE *date);
void Show(STACK st);

void Show(STACK st)
{
int i;
for(i=0;i<st.top;i++)
{
printf("%d,%c\n",st.pd[i],st.pd[i]);
}
}

int Top(STACK st,MYTYPE *date)
{
int isEmpty;
isEmpty=isStackEmpty(st);
if(!isEmpty)
{
*data=st.pd[st.top-1];
}
return !isEmpty;
}

int Pop(STACK *st,MYTYPE *data)
{
int isEmpty;
isEmpty=isStackEmpty(*st);
if(!isEmpty)
{
*data=st->pd[--st->top]
}
return !isEmpty;
}

int Push(STACK *st,MYTYPE data)
{
int isFull;
isFull=isStackFull(*st)
if(!isFull)
{
st->pd[st->top++]=data;
}
return !isFull;
}

int isStackEmpty(STACK t)
{
return t.top<=0;
}

int isStackFull(STACK t)
{
return t.top>=t.MaxSize;
}

void DestroyStack(STACK *t)
{
free(t->pd);
t->top=t->MaxSize=0;
t->pd=NULL;
}

STACK InitStack(int MaxSize)
//申请栈空间
{
STACK t;

t.MaxSize=MaxSize;
t.pd=(MYTYPE *)malloc(sizeof(MYTYPE)*MaxSize);
t.top=0;

return t;
}
void main(void)

{
int MaxSize=10;
STACK st;
st=InitStack(MaxSize);
}

问题补充 2009-10-28 15:20
最佳答案
  • 五星知识达人网友:轮獄道
  • 2021-06-06 18:40
因为这本书还有自己的头文件吧,也要引用了阿。
全部回答
  • 1楼网友:行路难
  • 2021-06-06 20:34

一看到这个MYTYPE就马上知道你是把数据结构书上的代码直接调试了吧。

哎~你们老师没说这个是类C伪代码吗?

把MYTYPE改成int吧。估计还有其他问题。这个要自己先看明白,然后懂编,能自己Debug程序呀。

  • 2楼网友:拾荒鲤
  • 2021-06-06 19:23
先解决MYTYPE的结构体在哪里定义的?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯