返回信息流#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
#define OK 1
typedef struct{
char *base;
char *top;
int stacksize;
}Stack;
int InitStack(Stack s)
{//初始化空栈
s.base=(char *)malloc(STACK_INIT_SIZE*sizeof(char));
if(!s.base) exit(OVERFLOW);
s.top=s.base;
s.stacksize=STACK_INIT_SIZE;
return OK;
}
int Push(Stack s, char x)
{//元素x进栈操作,成功返回1,否则返回0
if(s.top-s.base>=s.stacksize){
s.base=(char *)realloc(s.base,
(s.stacksize+STACKINCREMENT)*sizeof(char));
if(!s.base) exit(OVERFLOW);
s.top=s.base+s.stacksize;
s.stacksize+=STACKINCREMENT;
}
*s.top++=x;
return OK;
}
char get_top(Stack s)
{
char e;
if(s.top==s.base)
e=*(s.top-1);
return e;
}
Stack oper;
Stack opnd;
if(InitStack(oper)>0)//D:\zs\Z.CPP(43) : error C2143: syntax error : missing ';' before 'if'//
//D:\zs\Z.CPP(45) : error C2143: syntax error : missing ';' before 'if'//
Push(oper,'#');
if(InitStack(opnd)>0)
Push(opnd,'0');
这是一条镜像帖。来源:北邮人论坛 / cpp / #43730同步于 2010/9/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
大牛看看这段程序错误怎么改
shensi
2010/9/11镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
运行了没错误啊。。。你把Stack oper;
Stack opnd;
if(InitStack(oper)>0)
Push(oper,'#');
if(InitStack(opnd)>0)
Push(opnd,'0');
这几段放进一个函数试下?直接写什不行的吧
【 在 zzjin 的大作中提到: 】
: 运行了没错误啊。。。你把Stack oper;
: Stack opnd;
: if(InitStack(oper)>0)
: ...................
我把它加入主程序了,编译通过了,可是还是实现不了功能啊,我就是想得到刚建好的栈的首元素,但是为什么得不到啊~