#include <stdio.h>
#include <stdlib.h>
typedef struct LNode
{
int data;
struct LNode *next;
} LNode,*LinkList;
void creat(LinkList L,int a[],int n)
{
LinkList s;
int i;
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
for(i=0; i<n; ++i)
{
s=(LinkList)malloc(sizeof(LNode));
s->data=a[i];
s->next=L->next;
L->next=s;
}
}
void print(LinkList L)
{
LinkList f;
f=L;
while(f->next);
{
f=f->next;
printf("%d",f->data);
}
}
int main()
{
LinkList L;
int n;
printf("请输入数组的个数:");
scanf("%d",&n);
int a[n];
printf("请输入数组中的数:");
for(int i=0; i<n; ++i)
{
scanf("%d",&a[i]);
}
creat(L,a,n);
print(L);
return 0;
}
29行while(f->next);
while后面加了分号
把创建链表的函数形参表L用 引用 吧,修如下,供参考:
void creat(LinkList &L,int a[],int n)
{
LinkList s;
int i;
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
for(i=0; i<n; ++i)
{
s=(LinkList)malloc(sizeof(LNode));
s->data=a[i];
s->next=L->next;
L->next=s;
}
}