关于栈的基本操作问题
#include"stdio.h"#define MAXLEN 100
typedef struct
{
char data[MAXLEN];
int top;
}SeqStack;
void InitStack (SeqStack *s)
{ // 构造一个空栈
s=new SeqStack;
s->top =-1;
}
int Push (SeqStack *s, char x)
{ // 插入元素x为新的栈顶元素,考虑溢出情况的发生
if (s->top==MAXLEN-1) return 0;
else
{ s->top++;
s->data[s->top] =x;
return 1;
}
}//pushmain()
{
char ch;
SeqStack*s=new SeqStack;
char str[20];
gets(str);
ch=str[0];
InitStack (s);
s->top=NULL;
while(ch!='\0')
{
if(ch>=0)
{ Push(s,ch);
scanf("%s",s->data);}
}
}
为什么数不出结果呢?百思不得其解,求指导,谢谢