主要是你的线性表的定义问题,你定义的然后你又不明白怎么调用、然后又分配内存空间,给你修改下:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
typedef struct node
{
int data;
struct node *next;
}lnode,linklist;
void creatlist(linklist l)
{
lnode *p,*q;
int i,j;
for(i=0;i<=9;i++)
{
p=(lnode *)malloc(sizeof(lnode));
p->next=l.next;
l.next=p;
}
q=l.next;
for(j=0;j<=9;j++)
{
srand(time(NULL));
q->data=rand()%50;
q=q->next;
}
}
void main()
{
linklist l1,l2;
lnode *p;
//int e;
creatlist(l1);
p=l1.next;
while(p!=NULL)
{
printf("%d",p->data);
p=p->next;
}
printf("\n");
}
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
typedef struct node
{
int data;
struct node *next;
}lnode,linklist;
void creatlist(linklist l)
{
lnode *p,*q;
int i,j;
for(i=0;i<=9;i++)
{
p=(lnode *)malloc(sizeof(lnode));
p->next=l.next;
l.next=p;
}
q=l.next;
for(j=0;j<=9;j++)
{
srand(time(NULL));
q->data=rand()%50;
q=q->next;
}
}
void main()
{
linklist l1,l2;
lnode *p;
//int e;
creatlist(l1);
p=l1.next;
while(p!=NULL)
{
printf("%d",p->data);
p=p->next;
}
printf("\n");
}
Maybe