C中链接列表中的字符串搜索

时间:2017-07-24 05:30:48

标签: c linked-list

面对if条件的while循环问题, 条件值相等但在if条件下不进入。

void searchList(char name[20])
    {
        char contactName[20];
        strcpy(contactName,name);
        struct node *temp = head;
        printf("\nSearch Contact : \n");
        printf("-------------------\n");
        printf("Name : %s\n",name);
        while (temp != NULL)
        {
            if(temp->name == contactName)
            {
                printf("Contact Name : %s\n",temp->name);
                printf("Contact Number : %s\n", temp->phone);
            }
            temp = temp->next;
        }
    }

1 个答案:

答案 0 :(得分:1)

您应该使用string.h库中的strcmp函数来比较字符串:

 #include <string.h>

 ...

 if (strcmp(temp->name, contactName) == 0) {
     ...
 }

在此处查看更多信息https://stackoverflow.com/a/8004250/492620