能力值:
( LV9,RANK:610 )
|
-
-
2 楼
void insert(linklist *s,int sorce,int d) { linklist *p,*t;int i=1; p=s; while(i<sorce) { p=p->next; i++; } while(p->data!=NULL) { t->data=d; t->next=p->next; p->next=t; } }
t是野指针 没有初始化 当然会崩溃。。。
|
能力值:
( LV6,RANK:80 )
|
-
-
3 楼
void insert(linklist *s,int sorce,int d)
{
linklist *p,*t;int i=1;
p=s;
t=init(t); //初始化了。还会出错
while(i<sorce)
{
p=p->next;
i++;
}
while(p->data!=NULL)
{
t->data=d;
t->next=p->next;
p->next=t;
}
}
#include <stdio.h>
#include <malloc.h>
#define datatype int
#define max 100
typedef struct link
{
datatype data;
struct link *next;
}linklist;
linklist * init(linklist * s)
{ linklist t;
s=(linklist *)malloc(sizeof(t));
return s;
}
void insert(linklist *s,int sorce,int d)
{
linklist *p,*t;int i=1;
p=s;
t=init(t);
while(i<sorce)
{
p=p->next;
i++;
}
while(p->data!=NULL)
{
t->data=d;
t->next=p->next;
p->next=t;
}
}
void scan(linklist *s)
{
linklist *p,*t;
p=s;
t=(linklist *)malloc(sizeof(t));
printf("please inster the Number:\n");
for(int i=0;i<10;i++)
{
scanf("%d",&t->data);
p->data=t->data;
p->next=t;
}
}
void print(linklist *s)
{
while (s->next!=NULL)
{
printf("%d ",s->data);
s=s->next;
}
}
int main()
{
linklist *p;
p=init(p);
scan(p);
insert(p,2,6);
print(p);
return 0;
}
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
我不太明白你的下面两段代码的作用是什么,麻烦给解释一下
while(p->data!=NULL) { t->data=d; t->next=p->next; p->next=t; }
for(int i=0;i<10;i++) { scanf("%d",&t->data); p->data=t->data; p->next=t; }
|
|
|