| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 359 人关注过本帖, 1 人收藏
标题:求高手指导下这段代码的报错!
只看楼主 加入收藏
tang_ke
Rank: 2
来 自:西安电子科技大学
等 级:论坛游民
帖 子:45
专家分:46
注 册:2010-10-12
结帖率:66.67%
收藏(1)
已结贴  问题点数:20 回复次数:4 
求高手指导下这段代码的报错!
#include<stdio.h>
#include<stdlib.h>
typedef struct{
    int *base;
    int *top;
    int stacksize;//栈当前分配的总空间
}Stack;
#define STACK_INIT_SIZE 100;
#define STACKINCREMENT 10;
#define OK 1;
#define OVERFLOW 0;
#define ERROR -1;
void INIT_STACK(Stack &S);
void INSERT_STACK(Stack &S,int e);
int Pop(Stack &S,int &e);
int main()
{
    Stack S1;
    INIT_STACK(S1);
    INSERT_STACK(S1,1);
    INSERT_STACK(S1,2);
    INSERT_STACK(S1,3);
    int i;
    int a;
    for(i=0;i<3;i++)
    {
        Pop(S1,a);
        printf("%d",a);
    }
    return 0;


}

//创建一个空的栈
void INIT_STACK(Stack &S)
{
    S.base=(int *)malloc(STACK_INIT_SIZE*sizeof(int));//初始化空间
    if(!S.base) exit(OVERFLOW);//初始化空间失败
    S.top=S.base;
    S.stacksize=STACK_INIT_SIZE;   
}
//在栈中插入一个元素
void INSERT_STACK(Stack &S,int e)
{
    if((S.top-S.base)>=S.stacksize)//栈满了
    {
        S.base=(int *)realloc(S.base,(S.stacksize+STACKINCEMENT)*sizeof(int));
        if(!S.base)exit(OVERFLOW);
        S.top=S.base+S.stacksize;
        S.stacksize+=STACKINCREMENT;

    }
    *S.top=e;
    S.top++;

}
//若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK,否则返回ERROR;
int Pop(Stack &S,int &e)
{
    if(S.base==S.top) return ERROR;
    e=*--S.top;
    return OK;
}
搜索更多相关主题的帖子: 空间 
2011-04-16 23:45
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:10 
程序代码:
#include<stdio.h>
#include<stdlib.h>
typedef struct{
    int *base;
    int *top;
    int stacksize;//栈当前分配的总空间
}Stack;
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
#define OK 1
#define OVERFLOW 0
#define ERROR -1
void INIT_STACK(Stack &S);
void INSERT_STACK(Stack &S,int e);
int Pop(Stack &S,int &e);
int main()
{
    Stack S1;
    INIT_STACK(S1);
    INSERT_STACK(S1,1);
    INSERT_STACK(S1,2);
    INSERT_STACK(S1,3);
    int i;
    int a;
    for(i=0;i<3;i++)
    {
        Pop(S1,a);
        printf("%d",a);
    }
    return 0;


}

//创建一个空的栈
void INIT_STACK(Stack &S)
{
    S.base=(int *)malloc(STACK_INIT_SIZE*sizeof(int));//初始化空间
    if(!S.base) exit(OVERFLOW);//初始化空间失败
    S.top=S.base;
    S.stacksize=STACK_INIT_SIZE;   
}
//在栈中插入一个元素
void INSERT_STACK(Stack &S,int e)
{
    if((S.top-S.base)>=S.stacksize)//栈满了
    {
        S.base=(int *)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(int));
        if(!S.base)exit(OVERFLOW);
        S.top=S.base+S.stacksize;
        S.stacksize+=STACKINCREMENT;

    }
    *S.top=e;
    S.top++;

}
//若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK,否则返回ERROR;
int Pop(Stack &S,int &e)
{
    if(S.base==S.top) return ERROR;
    e=*--S.top;
    return OK;
} 


                                         
===========深入<----------------->浅出============
2011-04-17 09:22
tang_ke
Rank: 2
来 自:西安电子科技大学
等 级:论坛游民
帖 子:45
专家分:46
注 册:2010-10-12
收藏
得分:0 
回复 2楼 laoyang103
你改了哪里哦?我看不出来
2011-04-17 12:36
tang_ke
Rank: 2
来 自:西安电子科技大学
等 级:论坛游民
帖 子:45
专家分:46
注 册:2010-10-12
收藏
得分:0 
回复 2楼 laoyang103
你改了哪里哦?我看不出来
2011-04-17 12:36
lml20080
Rank: 2
等 级:论坛游民
帖 子:20
专家分:96
注 册:2010-8-2
收藏
得分:10 
#define 后面没有分号
2011-04-17 14:18
快速回复:求高手指导下这段代码的报错!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020086 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved