关于用顺序栈反序输出字符串,弄不好啊,求大神。。
#include <stdio.h>#define Stack_Size 50
typedef struct
{
char elem[Stack_Size];
int top;
}SeqStack;
void InitStack(SeqStack *s)
{
s->top=-1;
}
int Push(SeqStack *s, char x)
{
if(s->top==Stack_Size-1)
return(0);
s->top++;
s->elem[s->top]=x;
return(1);
}
int Pop(SeqStack *s, char *x)
{
do
{ *x=s->elem[s->top];
printf("%s",*x);
s->top--;
return(1);
}while(s->top==-1);
}
main()
{
SeqStack *l;
char x,y;
l=(SeqStack *)malloc(sizeof(SeqStack));
InitStack(l);;
do
{
scanf("%c",&x);
Push(l,x);
}while(x='\n');
Pop(l,y);
}
纯新手,对着书写的,书上只有一段段,但是自己组合就弄不好,拜托大神看看哪里错了。。