求各位高手找错啊 一个栈的建立与输出 一调试总是出错
#include<iostream>using namespace std;
typedef struct SeqStack
{
int *elem[10];
int top;
}*s;
void InitStack(SeqStack *s)
{
s->elem[10]=new int[10];
if(s->elem[10]=NULL)
{cout<<"内存不足!\n";
exit(1);}
s->top=-1;
}
int push(SeqStack *s,int e)
{if(s->top!=9)
{s->top++;
*s->elem[s->top]=e;
return true;
}
return false;
}
int pop(SeqStack *s,int&e)
{if(s->top!=-1)
{e = *s->elem[s->top];
s->top--;
return true;
}
return false;
}
int main()
{SeqStack s;
InitStack(&s);
int i,e;
cout<<"现在是元素入栈(栈中最多只能存10个元素): \n";
for(i=1;i<=10;i++)
{cout<<"输入元素为:\n";
cin>>e;
push(&s,e);
}
cout<<endl;
cout<<"现在是元素出栈:\n";
for(i=1;i<=10;i++)
{pop(&s,e);
cout<<e<<"\t";}
return 0;
}
求找错 为什么一调试就会出错呢?死活找不着原因呀,求高位高手帮帮忙