此代码正在生成 细分核心转储。
typedef struct linked{
int val;
struct linked *index;
}linked;
struct linked *temp1;
int count=1;
while(count<10){
temp1->val=count;
temp1=temp1->index;
count++;
} //end of while
while(temp1!=NULL){
printf(" %d\n",temp1->val);
temp1=temp1->index;
}
答案 0 :(得分:1)
struct linked *temp1 = malloc(sizeof(struct linked));
将内存分配给指针
答案 1 :(得分:1)
在
struct linked *temp1;
int count=1;
while(count<10){
temp1->val=count;
temp1
永远不会指向任何事物。
答案 2 :(得分:-1)
struct linked *temp1, *top;
int count;
temp1 = top = calloc(1, sizeof(*top));
for(count=1;count<10;count++){
temp1->val = count;
if(count < 10 -1)//not last
temp1 = temp1->index = calloc(1, sizeof(*temp1));
}
temp1 = top;
while(temp1!=NULL){
printf(" %d\n",temp1->val);
temp1=temp1->index;
}