迭代链表,if语句不起作用

时间:2014-11-21 22:11:07

标签: c linked-list

我正在构建一个用于构建/跟踪电影数据库的链接列表。在我的搜索功能中,我有一个if语句,用于检查指向电影标题的指针是否等于搜索功能中的输入值。但是,即使值彼此相等,if语句也不会运行。我不想包含我的所有代码,所以我包含了if语句的输入字段和if语句所在的循环。我已经验证了movieTitleptr->title的值在词汇上是一样的。

ptr->标题输入

printf("Name of the Movie: ");
scanf(" %[^\n]%*c", m.title);
strcpy(ptr->title, m.title);

movieTitle输入

printf("Name of the Movie: ");
scanf(" %[^\n]%*c", movieTitle);

如果声明

while (ptr != NULL)
{       
    if (movieTitle == ptr->title)
    {
        printf("Year: %d\n", ptr->year);
        printf("Rating: %hhu\n", ptr->rating);
        found = true;
        break;
    }
    else
    {
        tmp = ptr;
        ptr = ptr->next;
    }
}

1 个答案:

答案 0 :(得分:3)

您不能使用==来比较C

中的两个字符串

使用strcmp

像这样的东西

if (strcmp( string1, string2) == 0)