gpt4 book ai didi

c - C 中的复制列表在新列表中出错

转载 作者:行者123 更新时间:2023-11-30 17:13:06 26 4
gpt4 key购买 nike

我在 C 中遇到列表问题。我必须复制 list l1 的值(在新的 list l2 中),其中:l1->e .nu​​mero_volte > occ

代码:

list seconda_lista(list l2,list l1, int occ) {
element temp;
if(l1!=NULL)
{
if(l1->e.numero_volte>occ)
{
temp.numero_volte=l1->e.numero_volte;
strcpy(temp.parola,l1->e.parola);
l2=cons(l2,temp);
l2=l2->next;
}
seconda_lista(l2,l1,occ);
}
}

但是程序崩溃了。我该如何解决这个问题?

编辑

我已经更改了代码,但它没有启动。

list cons(list l,element el)
{
list temp;
temp=(NODO*)malloc(sizeof(NODO));
temp->e=el;
temp->next=l;

return temp;
}

list insord(list l, element el)
{
if(l==NULL)
{
return l=cons(l,el);
}
else
{
if(strcmp(l->e.parola,el.parola)>0)
{
return l=cons(l,el);
}
else
{
l->next=insord(l->next,el);
}
return l;
}
}

list seconda_lista(list l2,list l1, int occ)
{
element temp;

if(l1 != NULL)
{
if(l1->e.numero_volte > occ)
{
temp.numero_volte=l1->e.numero_volte;
strcpy(temp.parola,l1->e.parola);
l2=insord(l2,temp);
}

seconda_lista(l2,l1->next,occ);
}
}

最佳答案

我有更改,但它没有启动

list cons(list l,element el){    
list temp;
temp=(NODO*)malloc(sizeof(NODO));
temp->e=el;
temp->next=l;

return temp;
}

list insord(list l, element el){

if(l==NULL){
return l=cons(l,el);
}
else{
if(strcmp(l->e.parola,el.parola)>0){
return l=cons(l,el);
}
else{
l->next=insord(l->next,el);
}

return l;
}
}

list seconda_lista(list l2,list l1, int occ) {
element temp;
if(l1 != NULL){

if(l1->e.numero_volte > occ) {
temp.numero_volte=l1->e.numero_volte;
strcpy(temp.parola,l1->e.parola);

l2=insord(l2,temp);
}

seconda_lista(l2,l1->next,occ);

}
}

关于c - C 中的复制列表在新列表中出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31043115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com