请兄长看看我的这个程序咋回事
#include<iostream>#include<cstdlib>
using namespace std;
struct stacknode{
int data;
stacknode *next;
};
struct Linkstack{
stacknode *top;
};
void initstack(stacknode *p);
void push(stacknode *p,int x);
void display(stacknode *p);
int main()
{
stacknode *p;
int i,x,n;
p=new node;
initstack(p);
display(p);
cout<<"输入你要压入栈中的数据元素个数:"<<endl;
cin>>n;
cout<<"依次压入的数据为:"<<endl;
for(i=0;i<n;i++)
{
cin>>x;
push(p,x);
}
display(p);
return 0;
}
void initstack(stacknode *p)
{
p->next=NULL;
cout<<"链栈已经初始化!";
}
void push(stacknode *p,int x)
{
stacknode *s;
s=new node;
s->data=x;
s->next=p->top;
p->top=s;
}
void display(stacknode *p)
{
cout<<"链栈中的数据为:"<<endl;
stacknode *s;
s=new node;
s=p->top;
while(s!=NULL)
{
cout<<s->data;
s=s->next;
}
cout<<endl;
}