求急急急!!请高手
#include<stdio.h>
#include<stdlib.h>
int main()
{
typedef struct lnode{
int data;
struct lnode *next;
}node,*linklist;
linklist l;
FILE *fp,*fr;
int ch[3][2]={0};
int i=0,j=0;
fp=fopen("D:\\c.txt","r");
fr=fopen("1.txt","w");
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
{
fscanf(fp,"%d ",&ch[i][j]);
}
}
fclose(fp);
l=(struct lnode*)malloc(sizeof(struct lnode));
if(!l)
{
printf("申请内存失败!\n");
exit(0);
}
l->next=NULL;
linklist p,q,no;
p=l;
q=l;
for(i=0;j<3;i++)
{
for(j=0;j<2;j++)
{
p=(struct lnode *)malloc(sizeof(struct lnode));
p->data=ch[i][j];
q->next=p;
p->next=NULL;
q=p;
}
p=l->next;
while(p)
{
fprintf(fr,"%d ",p->data);
p=p->next;
}
fprintf(fr,"\n");
p=l;
while(l->next)
{
p=l->next;
free(l);
l=p;
}
}
fclose(fr);
}
请教:c.txt 为3行2列 数据 从小到大排列 如:1 2
4 8
9 12
在1.txt 中 能看到这些数据,但是后面还有一大排数据 不知是什么,是内存地址码??运行报错,不能引用0x00233000
是不是 ,在释放链表结点哪里出错啊???