链栈问题,请高手帮忙啊
#include<stdio.h>#include<stdlib.h>
struct LNode{
int data;
struct LNode *next;
}L;
//创建一个空表
void initstack(struct LNode *L)
{L==NULL;
}
//进栈
void insert(struct LNode *L,int m)
{ int i;
struct LNode *p;
for (i=0;i<m;i++)
{ p=malloc(sizeof(struct LNode));
scanf("%d",&p->data);
p->next=NULL;
if (L==NULL)
L=p;
else
{p->next=L;
L=p;} }
}
//所有元素出栈
void display_all(struct LNode *L)
{
printf("链栈的全部数据元素如下:\n");
while(L!=NULL)
{printf("%d ",L->data);
L=L->next;}
}
void main()
{int length;
initstack(&L);
printf("请输入你要输入的个数:\n");
scanf("%d",&length);
printf("请输入%d个数据\n",length);
insert(&L,length);
display_all(&L);
}
简单的进栈和出栈,怎么输出的是0,请高手帮忙,用的是vc++编译器,多谢多谢!