C语言 迭代链接列表,如果语句不起作用



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

PTR>标题输入

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

影片标题输入

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

如果语句

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

你不能使用 == 来比较 C 中的两个字符串

使用 strcmp

像这样的东西

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

相关内容

  • 没有找到相关文章

最新更新