数据结构问题,while循环没有输出!
#include<stdio.h>#include<stdlib.h>
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define M 100
#define m 10
#define OVERFLOW -2
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*LinkList;
void Creat_L(LinkList L,int a[],int n)
{
LNode *p;
int i;
L=(LNode *)malloc(sizeof(LinkList));
L->next=NULL;
for(i=0;i<n;i++)
{
p=(LNode *)malloc(sizeof(LinkList));
p->data=a[i];
printf("%d",p->data);
p->next=L->next;
L->next=p;
}
printf("OK\n");
}
int Outputelem(LinkList L)//输出所有元素
{
LNode *p;
p=L;
printf("555\n");
while(p!=NULL)
{
printf("000");
printf("%5d",p->data);
p=p->next;
printf("000");
}
printf("\n");
return 0;
}
int main()
{
int a[M],i;
LNode L;
printf("请输入元素:\n");
for(i=0;i<5;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<5;i++)
printf("%5d\n",a[i]);
Creat_L(&L,a,5);
Outputelem(&L);
}