题目:
编写一个函数 int SubStrNum(char * str,char * substr) , 它的功能是:统计子字符串substr在str中出现的次数。 如 str = "hello world hello you"; substr ="hello",子串substr在str中出现了2次 则输出: match times=2 如 str ="hhhhhh";substr ="hh";子串substr在str中出现了3次 则输出: match times=3 |
代码:
#include<stdio.h>
int mycp(char * str,char * substr,int m)
{
int judge=0;
int i=0;
for (;i<m;i++)
{
if(* (substr+i)!=*(str+i))
{
break;
}
}
if(i==m)
{
judge =1;
}
return judge;
}
int length( char * substr)
{
int m=0;
while(*substr!='\0')
{
substr++;
m++;
}
return m;
}
int SubStrNum(char * str,char * substr)
{
int l_str=length(str),n=0,m,l_substr=length(substr);
m=l_str-l_substr;
for(int i=0;i<m+1;i++)
{
if(mycp(str+i,substr,l_substr))
{
n++;
i+=l_substr-1;
}
}
printf("match times=");
printf("%d",n);
return n;
}