我正在编写 C 编程书中的这个示例,并且 strstr 命令应该在值为 true 时触发 printf 命令。它试图在曲目中找到一个字符串并返回它是在哪个曲目中找到的。我已经为此玩了一个多小时,似乎无法找到问题所在。目前,即使应该有匹配,它也不会打印任何东西。
#include <stdio.h>
#include <string.h>
char tracks[][80] = {
"Boston",
"Where the Streets Have No Name",
"Row Row Row your Boat",
"Gangsta Paradise",
"Yoda",
};
void findTrack(char searchFor[]){
int i;
for(i = 0; i < 5; i++){
if(strstr(tracks[i], searchFor))
printf("Track %i: '%s'\n", i, tracks[i]);
}
}
int main(){
char searchFor[80];
printf("what is your string?: ");
fgets(searchFor, 80, stdin);
printf("searching for: %s", searchFor);
findTrack(searchFor);
return 0;
}