我想在列表的末尾添加一个Newnode,但它会崩溃并进入无限循环。 我附加功能: 希望对你有所帮助!!
void AddProduct(products **head,products *newProduct)
{
products* current=*head;
if(current == NULL)
{
(*head) =(products *)malloc(1*sizeof(products));
(*head) = newProduct;
current=*head;
return;
}
while(current->nextProduct!=NULL)
{
current=current->nextProduct;
}
//Attaching the new product to the list
current->nextProduct=newProduct;
newProduct->prevous=current;
//SortList(head);
}
答案 0 :(得分:0)
创建新元素时,您同时接受它作为参数,和自己在函数内部分配它。你用传入的指针覆盖新分配的指针,它没有任何意义。
此外,您未设置新元素的nextProduct
字段。
最后,您使用过多的演员表和括号。