到目前为止,我的代码存在问题。我研究了stackoverflow的主题并找到了解决方案,但那些似乎不起作用。这是我的代码:
#include <stdio.h>
#include <string.h>
int main() {
char sentence[1000];
char word[100];
int count=0;
fgets(sentence, 999, stdin);
fgets(word, 99, stdin);
int word_len=strlen(word);
char *p;
for(p=(char*)sentence; (p=strstr(p, word)); p+=word_len)
{
++count;
}
printf("%d", count);
return 0;
}
但无论如何,无论在句子中找到多少次,它都打印出1。有什么帮助吗?
答案 0 :(得分:0)
更改为
....
fgets(word, 99, stdin);
char *p = strchr(word, '\n');
if(p)
*p = 0;
int word_len=strlen(word);
for(p=sentence; (p=strstr(p, word)); p+=word_len)
....