主题:[讨论]一个单链表的C程序问题
#include <stdio.h>
#include <string.h>
#include <malloc.h>
#include <process.h>
#define NULL 0
typedef struct aa
{int number;
struct aa *next;
}linklist;
void chushihua(linklist *l)
{
l=(linklist *)malloc(sizeof(linklist));
if(!l)
{
printf("初始化失败。\n");
exit(0);
};
l->next=NULL;
}
void shurushuju(linklist *l,int data)
{
linklist *p,*q;
p=(linklist *)malloc(sizeof(linklist));
q=l;
if(!p)
{printf("内存分配失败。\n");
exit(0);
};
p->number=data;
p->next=NULL;
while(l->next!=NULL)
l=l->next;
l->next=p;
}
void main()
{
int data;
linklist l;
chushihua(&l);
scanf("%d",&data);
while(data)
{
shurushuju(&l,data);
scanf("%d",&data);
};
}
这是一个单链表初始化和建立的C程序
看看这个程序哪里错了
编译是通过的 运行时候说什么内存不能读什么的
#include <string.h>
#include <malloc.h>
#include <process.h>
#define NULL 0
typedef struct aa
{int number;
struct aa *next;
}linklist;
void chushihua(linklist *l)
{
l=(linklist *)malloc(sizeof(linklist));
if(!l)
{
printf("初始化失败。\n");
exit(0);
};
l->next=NULL;
}
void shurushuju(linklist *l,int data)
{
linklist *p,*q;
p=(linklist *)malloc(sizeof(linklist));
q=l;
if(!p)
{printf("内存分配失败。\n");
exit(0);
};
p->number=data;
p->next=NULL;
while(l->next!=NULL)
l=l->next;
l->next=p;
}
void main()
{
int data;
linklist l;
chushihua(&l);
scanf("%d",&data);
while(data)
{
shurushuju(&l,data);
scanf("%d",&data);
};
}
这是一个单链表初始化和建立的C程序
看看这个程序哪里错了
编译是通过的 运行时候说什么内存不能读什么的