【发布时间】:2021-12-10 04:41:04
【问题描述】:
我正在创建一个新的结构列表,我将在其中保存有关一系列汽车的一些信息。我编译代码没有问题,但是一旦我运行它就会出现分段错误。
这是问题所在的代码:
car* insertNode(car *head){
car *temp;
car *prec;
temp=(car *)malloc(sizeof(car));
if(temp!=NULL){
temp->next=NULL;
if(head==NULL)
head=temp;
else{//Raggiungi il termine della lista
for(prec=head;prec->next!=NULL;prec=prec->next);
prec->next=temp;
}
getData(temp);
printf("Inserire l'anno di immatricolazione dell'auto: ");
scanf("%i",&temp->anno);
}
else
printf("Memoria esaurita!\n");
return head;
}
我尝试对此进行调试,发现问题出在具有 for 循环的代码行中。有什么问题?我只使用
【问题讨论】:
-
我们需要足够的代码来复制问题。您向我们展示的代码是 victim,而错误在肇事者中,您没有向我们展示。
-
@Il_Kevo 提供一个演示问题的最小完整程序。
标签: c list struct segmentation-fault malloc