我首先从C语言开始学习C语言,我尝试编写一个小程序来搜索2d数组中的用户输入。
但是我的代码无法正常工作,并且总是返回false。
我的代码:
#include<stdio.h>
#include<string.h>
char songs[][50] = {"Meri aashiqui ab tum hi ho",
"Aaja Maahi",
"Tum mere ho",
"Akelapan",
"kangana tera ni"};
void search_tar(char target[]) {
printf("Searching for %s ",target);
int i;
for ( i = 0; i < 5; i++)
{
if (strstr(songs[i],target))
{
printf("Found the track %s from the keyword",songs[i]);
}
}
}
int main()
{
char target[50];
printf("Find the song with a keyword: ");
fgets(target,50,stdin);
search_tar(target);
return 0;
}
这本书的代码:
我希望代码能够输出结果。
答案 0 :(得分:0)
target
中有一个'\n'
-因此没有与strstr()
匹配的模式。
读完该行后,切断该电位'\n'
。
target[strcspn(target,"\n")] = 0;