真的坑这题,一般方法要超时。看到别人代码区区几行就解决了,一个while循环,不过用到了strstr这个函数。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char s[1000000];
char ss[1000000];
int main()
{
int num=0,len,len1;
char *p;
scanf("%s",s);
scanf("%s", ss);
len1=strlen(s);
len=strlen(ss);
p=strstr(s,ss);
while(p)
{
num++;
p++;
p=strstr(p,ss);
}
printf("%d\n", num );
return 0;
}