顺序栈的基本操作,运行得不到想要的答案,大家帮忙改改
#include<stdio.h>#include<stdlib.h>
#define Maxsize 100
typedef struct /*一个栈的类型*/
{
int date[Maxsize];
int top;
}stack;
void init(stack *p)
{
p->date[Maxsize]=NULL;/*这句可不可以不要*/
p->top=-1;
}
void push(stack *p,int a)
{
if(p->top==Maxsize-1)
printf("man le,bu yao");
else
{
p->date[++(p->top)]=a;
}
}
void pop(stack *p)
{
if(p->top==-1)
printf("ni de shi kong zhan");
else
{
p->top--;
}
}
void display(stack *p)
{
int i;
for(i=p->top;i>=0;i++)
printf("%d",p->date[i]);
printf("\n");
}
void main()
{
stack *p;
p=(stack*)malloc(100*sizeof(stack));
init(p);
push(p,4);
push(p,5);
display(p);
pop(p);
display(p);
}
[[italic] 本帖最后由 wshyj18 于 2007-12-27 12:23 编辑 [/italic]]