gpt4 book ai didi

c - 段错误,C 中的列表

转载 作者:太空宇宙 更新时间:2023-11-04 07:34:38 26 4
gpt4 key购买 nike

我尝试使用两个函数直接对我在链表中​​输入的数字进行排序,第一个函数在头部添加元素,第二个函数包含段错误,应该利用第一个函数来完成这项工作。

#include <stdio.h>
#include <stdlib.h>
typedef struct cellule
{
int val;
struct cellule *suivant;
} cellule;
typedef struct cellule* liste;

liste insert_tete(liste L,int n)
{

liste p;

p=malloc(sizeof(cellule));
p->val=n;
p->suivant=L;
return p;
}//ok :)
liste insert_croissant(liste L,int n)
{
if(!L)
{
L=insert_tete(L,n);
return L;
}

liste p,q;
for(q=L,p=L; (p!=NULL )&&(n> (p->val)) ; q=p,p=p->suivant); //

p=insert_tete(p,n);
q->suivant=p;
return L;
}

最佳答案

我绝不相信这会解决它,但您的代码中至少有一个错误。

考虑 L 被初始化的情况,但是 n < L->val:

// p = L, q = L;
// Let L = [val|->...
p=insert_tete(p,n);
// p = [n|->[val|->...
q->suivant=p;
// q = L
// Therefore [val|->[n|->L
// And you've just made your linked list circular.

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

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