统计字符串s在字符串str中出现的次数
来源:互联网 发布:gta5御姐美女捏脸数据 编辑:程序博客网 时间:2024/06/01 13:39
#include <stdio.h>#include <stdlib.h>int findsub(char* src, char* s){ char *ptr=src, *p=s; //定义两个指针 char *ptr2=src+strlen(src), *prev=NULL; //ptr2为src的末位置指针 int len=strlen(s), n=0; //子串的长度和计数器 for(;*ptr;ptr++) //循环整个串 { if(ptr2-ptr<len) //如果一开始子串就大于src,则退出 break; for(prev=ptr;*prev==*p;prev++,p++) //寻找第一个相等的位置,然后从此位置开始匹配子串 { if(*(p+1)==0||*(p+1)==10) //如果已经到了子串的末尾 { n++; //自增 p=s; //重新指向子串 break;//退出 } } } return n;}int main(void){ char a[81],b[81]; //定义两个字符数组 printf("输入原字符串:"); fgets(a,81,stdin); //输入 printf("输入子字符串:"); fgets(b,81,stdin); printf("找到:%d\n",findsub(a,b)); system("pause"); return 0; }
输入原字符串:f^@%T^tg2t455urhg&# 73y8uyjh55b jsreh55 jkh%^T*&输入子字符串:55找到:3请按任意键继续. . .