下面的函数统计子字符串substr在字符串str中出现的次数
int str_count(char* substr, char* str)
{
int count = 0;
int n=0,m=0;
while (*substr) {
n++;
substr++;
}
while (*str)
{
m++;
str++;
}
int j = 0;
for (int i = 0; i < m; i++)
{
if (j == n-1) {
count++; j = 0;
}
if (str[i] == substr[j])
{
j++;
}
else if(j==n-1||str[i]!=substr[j])
{
j = 0;
//continue;
}
}
return count;
}
int main()
{
char s1[5] = "god";
char s[20] = "lagodgodogod";
cout <<str_count(s1, s);
return 0;
}
我主函数这个用例一直不对,输出一直是4不知道哪里写错了