水题,给出A字符串和B字符串,求A字符串能分出几个B字符串。
特意写篇博客是因为发现了特殊姿势,用strstr函数返回一个指针,它指向字符串A首次出现于字符串B中的位置,如果没有找到,返回NULL。
#include"bits/stdc++.h"
using namespace std;
int main()
{
int len,c;
char *p;
char a[1005],b[1005];
while(~scanf("%s",a))
{
if(a[0]=='#')
break;
scanf("%s",b);
len=strlen(b);
for(c=0,p=a;p=strstr(p,b);c++,p+=len)
;
printf("%d\n",c);
}
return 0;
}