永发信息网

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

答案:4  悬赏:0  手机版
解决时间 2021-03-25 05:05
  • 提问者网友:心牵心
  • 2021-03-24 23:37
C/C++语言 计算字符串中子字符串出现的次数
最佳答案
  • 五星知识达人网友:一叶十三刺
  • 2021-03-25 01:00
1.可通过 strstr 函数,查找子字符串。找到后即非空,然后加上子字符串偏移,再进行查找没,直到最后返回为空。
2.char *strstr( const char *str1, const char *str2 );

功能:函数返回一个指针,它指向字符串str2
首次出现于字符串str1中的位置,如果没有找到,返回NULL。
#include 
#include 

// 从str1中查找str2的个数,并返回
int findChildCnt(char* str1, char* str2)
{
    int len = strlen(str2);
    int cnt = 0;
    while (str1 = strstr(str1, str2)) // 如果查找到,则执行循环,否则为空退出循环
    {
        cnt++; // 统计次数
        str1 += len; // 加上偏移量,即移除str2
    }
    return cnt;
}

int main()
{
    char str1[100], str2[100];
    printf("intput str1 :");
    gets(str1);
    printf("intput str2 :");
    gets(str2);
    printf("Child Cnt: %d
", findChildCnt(str1, str2));
    return 0;
}
全部回答
  • 1楼网友:孤老序
  • 2021-03-25 03:40
while((*p1=*p2)&&(*p2!='\0'))
里面把==写成=了,是*p1==*p2
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯