回 帖 发 新 帖 刷新版面

主题:一个关于栈的报错问题,请各位大虾帮忙!

各位大虾帮忙呀,请看下一个关于栈的小程序,为何在编译时总在“进栈”那里报错呀,我用的的turbo c for windows 4.5

#include <conio.h>        
#include <stdio.h>
#include <stdlib.h>
# define sqstack_maxsize 40   
/* 顺序栈的容量 */

/* 定义 */
typedef struct sqstack
{
    char data[sqstack_maxsize];
    int top ;
}
SqStackTp ;

/* 初始化 */
int InitStack(SqStackTp*sq)
{
    sq->top=0 ;
    return(1);
}

/* 进栈 */
int Push(SqStackTp*sq,DateType x)
{
    if(sq->top==sqstack_maxsize-1)
    {
        error("栈满");
        return 0 ;
    }
    else
    {
        sq->top++;
        sq->data[sq->top]=x ;
        return(1);
    }
}

/* 出栈 */
int Pop(SqStackTp*sq,DataType*x)
{
    if(sq->top==0)
    {
        error("下溢");
        return 0 ;
    }
    else
    {
        *x=sq->data[sq->top];
        sq->top--;
        return(1);
    }
}

int EmptyStack(SqStackTp sq)
{  if(sq.top==0)
        return(1);
   else return(0);
}


main()
{
    SqStackTp sq ;
    int i ;
    char ch ;
    InitStack(&sq);
    for(ch='A';ch<='A'+12;ch++)
    {
        Push(&sq,ch);
        print("%c",ch);
    }
    print("\n");
    while(!EmptyStack(sq))
    {
        Pop(&sq,&ch);
        printf("%c",ch);
    }
    getch();
}

回复列表 (共1个回复)

沙发

直接抄的书上的吧?什么定义都没有,DateType是什么?

我来回复

您尚未登录,请登录后再回复。点此登录或注册