首页
社区
课程
招聘
[求助]问个数据结构栈实现的问题
发表于: 2007-6-21 12:57 5281

[求助]问个数据结构栈实现的问题

2007-6-21 12:57
5281
用栈实现字符串倒序输出
以下 在VC6.0下编译
会出现 syntax error : missing ')' before ';'  错误
把 代码中的STACK_INIT_SIZE 和 STACKINCREMENT 直接用相应的数值代替就没有报错。。
请大侠指教。。。。
//stack.cpp
#include "stdio.h"
#include "stdlib.h"
#define STACK_INIT_SIZE 100;
#define STACKINCREMENT  10;

/*
栈结构定义及实现
*/
typedef char SElemType;
typedef struct  {
   SElemType *base;
   SElemType *top;
   int   stacksize;
}SqStack;
//初始化   
int InitStack(SqStack &S)
{   
    S.base=(SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType));      
    S.top=S.base;   
    S.stacksize=STACK_INIT_SIZE;   
    return 1;   
}   
   
//取栈顶元素   
int GetTop(SqStack S, SElemType &e) {   
    if(S.top==S.base) return 0;   
    e=* (S.top-1);   
    return 1;   
}   
   
//压栈   
int Push(SqStack &S,SElemType e) {   
    if(S.top-S.base>=S.stacksize) {   
        /*   
        栈空间满,扩容   
        */   
        S.base=(SElemType*)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(SElemType));   
        if(!S.base) return 0;   
        S.top=S.base+S.stacksize;   
        S.stacksize+=STACKINCREMENT;   
    }   
    *S.top++=e;   
    return 1;   
}   
   
//出栈   
int  Pop(SqStack &S,SElemType &e) {   
    if(!S.top) return 0;   
    e=*--S.top;   
    return 1;   
}   
   
//栈判空   
bool IsEmpty(SqStack s) {   
    return s.base==s.top;  
}

void main()
{   
        SqStack s;
    SElemType e;
        InitStack(s);
        char c;
        while ((c=getchar())!='\n')
                Push(s,c);
    while (!IsEmpty(s))
        {
                Pop(s,e);
                printf("%c",e);
    }
}

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 519
活跃值: (1223)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
2
#define STACK_INIT_SIZE 100;
#define STACKINCREMENT  10;

这两句不要加最后的分号,否则宏展开会把分号也带进去
2007-6-21 13:27
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
是啊,定义全局变量采用‘;’,宏不用
2007-6-21 15:22
0
雪    币: 538
活跃值: (460)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
4
可以了,谢谢了 。。C没学好。。。
2007-6-21 16:26
0
游客
登录 | 注册 方可回帖
返回
//