gpt4 book ai didi

c - 将不同的单词保存到链接列表中

转载 作者:行者123 更新时间:2023-11-30 19:49:45 25 4
gpt4 key购买 nike

基本上我这里有2个链表:list和distinct。有几组单词之前已保存到“列表”结构中。我要编写一个程序,它会找到不同/唯一的单词并将其保存到“不同”结构中。这是我到目前为止根据我的指针概念得到的结果。然而,当我尝试打印“distinct”时,程序崩溃了:(如果我错了,请纠正我。

struct list {
char string[50];
struct list *next;
};

struct distinct {
char string[50];
struct distinct *next;
};

void checkdistinct() {

list *ori = NULL;
distinct *copy = NULL;
distinct *check = NULL;

if(ori == NULL && copy == NULL) { //first time.
ori = ori->next;
copy = copy->next;
copy = (distinct*)malloc(sizeof(distinct));
strcpy(copy->string, ori->string);
ori = ori->next;
copy = copy->next;
}
else {}

while(ori!=NULL) {
check = check->next;

while(check != NULL) {
if(strcmp(ori->string, check->string)!=0) {
check = check->next;
}
else {
ori = ori->next;
check = NULL;
}

}

//only compare same casing words, for now.
copy = (distinct*)malloc(sizeof(distinct));
strcpy(copy->string, ori->string);
ori = ori->next;
copy = copy->next;
}
}

当我尝试在 main 中打印时,它会崩溃:(如果您需要对代码进行额外注释,请回复。谢谢!

最佳答案

这三行可能是罪魁祸首:

if(ori == NULL && copy == NULL) { //first time.
ori = ori->next;
copy = copy->next;

在这里,您检查 oricopy 是否为 NULL,然后您立即取消引用这些 NULL 指针!

关于c - 将不同的单词保存到链接列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11207176/

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