C语言计算字符串子串出现的次数

#include<stdio.h>
#include<string.h>
int substring(char *str,char *str1);//函数原型
int main(void)
{
char str[64]={0};
char str1[16]={0};
int i,j,x;
printf("please put the string\n");
gets(str);//输入的原字符串
puts(str);
printf("\n");
printf("please put the string1 \n");
gets(str1);//输入的字符串中的子串
puts(str1);
printf("\n");
i=strlen(str);//原字符串长度
j=strlen(str1);//子串长度
printf("the string lenth is %d\n",i);
printf("the string lenth is %d\n",j);
x=substring(str,str1);
printf("then anwser is %d\n",x);
return 0;
}
int substring(char *str,char *str1)
{
int x=0;
char *p;//任意附个初始值
do{
    p=strstr(str,str1);//1.p指针指向strstr的返回值。3.再一次循环到 这里函数的参数发生变化,p重新指向strstr返回值,如此循环。
    if(p != NULL) {
       str=p+1;//2.str同样指向strstr返回值p的下一个地址。
       x=x+1;
}
}
while(p!=NULL);
return x;
}

永不止步步 发表于12-27 13:33 浏览65535次
分享到:

已有0条评论

暂时还没有回复哟,快来抢沙发吧

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

永不止步步
金币:67410个|学分:308467个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号