私は C プログラミングの本でこの例に取り組んでおり、strstr コマンドは、値が true の場合に printf コマンドをトリガーすることになっています。トラック内の文字列を見つけて、見つかったトラックを返そうとしています。これを1時間以上試しましたが、何が問題なのかわかりません。現在、一致するはずの場合でも何も印刷されていません。
#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;
}