字符串中子字符串个数
#include<iostream.h>#include<string.h>
void main(void)
{
char buf[]="abcdefgabcgggggsdgabggabc";
char a[]="abc";
int flag=1,count=0,i,j;
int m=strlen(buf),n=strlen(a);
if(m<n)
count=0;
for(i=0;i<m;)
{
if(buf[i]==a[0])
for(j=0;j<n&&flag;j++)
{
if(buf[i+j]!=a[j])
flag=0;
}
if(flag==1)
count++;
i=i+j+1;
}
cout<<count<<endl;
}
为什么运行结果是7的呢?????