从键盘输入2个字符串,计算字符串str1中字符串str2出现的次数。要求:不使用字符串比较库函数,直接使用指针进行字符比较。
如:str1为“an”,str2为“they are an apple and an orange ”,则str1在str2中出现了3次。
#include <stdio.h>
#include <string.h>
int countString(char *str1,char *str2);//统计字符串出现次数
int main()
{
char str1[100],str2[100],*p1=str1,*p2=str2;
int k=0;
scanf("%s",str1);
scanf("%s",str2);
k=countString(str1,str2);
if(k==0)
printf("NO\n");
else
printf("%d\n",k);
return 0;
}
int countString(char *str1,char *str2)//递归函数
{
return (*str1=='\0'||strstr(str1,str2)==NULL)?0:1+countString(strstr(str1,str2)+strlen(str2),str2);
}
你题目例子错了吧,是出现4次。
代码如下:
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!