我正在尝试编写一个获取两个字符串的函数,一个称为 str1 的短字符串和一个称为 str2 的较长字符串。
该函数将计算在 str2 中找到 str1 的次数。
example: str1= 'ab' str2 = 'abab' print 2
但出于某种原因,对于上面的例子。我得到 3。这是我的代码:
int how_many_times(char* str1,char* str2)
{
int result=0,i,j=0;
for(i=0;i<strlen(str2);i++)
{
if((str1[i]==str2[j]))
{
while(str1[i]==str2[j])
{
j++;
if(j==strlen(str1))
{
result++;
j=0;
}
i++;
}
}
else
i++;
}
printf("%d",result);
getch();
return result;
}