C语言中strstr()函数的使用问题
#include<stdio.h>
#include<string.h>
char tracks[][80]=
{
"I left my heart in Harvard med school",
"Newark,Newark-a wonderful town",
"Dancing with a Dork",
"From here to maternity",
"The girl from two Jima",
};
void find_track(char search_for[])
{
int i;
for(i=0;i<5;i++)
{
if(strstr(tracks[i],search_for))
printf("Track %i: '%s'\n",i+1,tracks[i]);
}
}
int main()
{
char search_for[80];
printf("Search for: ");
fgets(search_for,80,stdin);
find_track(search_for);
return 0;
}
不管我输入什么字符串,strstr()函数返回的都是0,这是为什么呢?
飞翔的小菊花
10 years, 7 months ago
Answers
fgets() reads in at most one less than size characters from stream and stores them into the buffer pointed to by s. Reading stops after an EOF or a newline. If a newline is read, it is stored into the buffer . A terminating null byte ('\0') is stored after the last character in the buffer.
—
man fgets
又:
The most effective debugging tool is still careful thought, coupled with judiciously placed print statements.
— Brian W. Kernighan, in the paper Unix for Beginners (1979) src
堇CAROL
answered 10 years, 7 months ago