请教C高手

来源:百度知道 编辑:UC知道 时间:2024/05/14 03:38:12
#include<stdio.h>
#define m 100
struct Mystack

{
char element[m];
int top;
};
void push(struct Mystack *s,char x)
{
s->element[s->top]=x;
s->top++;
}
int IsEmpty(struct Mystack *s)
{
s->top--;
}
void Displaystack(struct Mystack *s)
{
int i;
for(i=0;i<s->top;i++)
printf("%c",s->element[i]);
}
void Clearstack(struct Mystack *s)
{
s->top=0;
}
void main()
{
struct Mystack st;
char ch;
int i;
for(i=0;i<100;i++)
st.element[i]='\0';
st.top=0;
printf("请输入一行字符:\n");
ch=getchar();
while(ch!=EOF && ch!='\n')
{
switch(ch)
{
case '#':
if(!IsEmpty(&st))
pop(&st);
break;
case'@':
Clearstack(&st);
break;
default:
pu

你的pop函数没有写~就像push一样你要写一个对应的函数
还有就是IsEmpty那个函数要返回一个值,再加一点建议,IsEmpty最好声明为BOOL型的

有一个头文件没有声明

.h的。

pop函数没编写就引用了。