我正在构建一个用于构建/跟踪电影数据库的链接列表。在我的搜索功能中,我有一个if语句,用于检查指向电影标题的指针是否等于搜索功能中的输入值。但是,即使值彼此相等,if语句也不会运行。我不想包含我的所有代码,所以我包含了if语句的输入字段和if语句所在的循环。我已经验证了movieTitle
和ptr->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;
}
}
答案 0 :(得分:3)
您不能使用==来比较C
中的两个字符串使用strcmp
像这样的东西
if (strcmp( string1, string2) == 0)