【发布时间】:2018-04-05 19:15:45
【问题描述】:
这是我在列表末尾添加元素的函数,但我暂时找不到修复循环的方法,你能给我一些提示/规则以使这个函数工作吗?
void insCoda(t_lista *l, TipoElemLista elem){
t_lista ultimo;
t_lista temp;
temp=(node *)malloc(sizeof(node));
temp->contenuto=elem;
temp->next= NULL;
if(*l==NULL)
{
*l=temp;
printf("Dentro if");
}else{
ultimo=*l;
while(ultimo->next!=NULL)
{
ultimo=ultimo->next;
ultimo->next=temp;
}
}
}
【问题讨论】:
-
假设
t_lista是node *因为您没有提供这些定义。在将新元素附加到列表的末尾之前,您不会迭代到列表的末尾。你把它放在ultimo->next->next循环的每次迭代,而不是只是循环到最后,然后把temp放在最后。 -
当然,调试器............