gpt4 book ai didi

c - 获取包含链接列表的功能以在C中正常工作

转载 作者:太空宇宙 更新时间:2023-11-04 08:46:24 25 4
gpt4 key购买 nike

我用 contains 函数实现了一个链表。它像这样使用 strcmp:

    void contains(NODE *head, char data)
{
NODE *this = head;
while(this != NULL && strcmp(this->data, data) != 0)
{
if(strcmp(this->data, data) == 0){
printf("Found data %s\n", this->data);
}
this = this->next;
}
}

在 main 我有(我在最后一行使用包含):

NODE *head;
head = malloc(sizeof(NODE));

bool headNode = true;
char userID[1000];
char test[180] = "monkey"; // for testing contains function
while((fgets(userID,1000,stdin) != NULL)){
if(headNode == true)
{
head = insert(NULL, userID);
headNode = false;
}
else
{
head = insert(head, userID);
}
}
contains(head, test);

我还在学C,指针还是有点迷糊。我有一种感觉,我犯了一个基本错误。我想让用户自己输入一些字符串并检查列表是否包含该字符串,但我什至无法获取 contains 以使用该测试字符串。我知道我正在比较测试字符串的内容确实在列表中,我有一个用于验证的 printList 函数。

最佳答案

test 是一个指向数组的指针,您在函数 contains(head, test); 中传递该数组,因此调用函数中的形式参数应该是一个指针, contains(NODE *head, char * data) { ....

关于c - 获取包含链接列表的功能以在C中正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21535461/

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