码迷,mamicode.com
首页 > 其他好文 > 详细

母串中有几个相同的子串

时间:2018-09-02 11:04:35      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:出现   char   sub   else   count   stdio.h   字符   +=   ++   

 1 #include <stdio.h>
 2 int getSubstrCount(char* str,char* subStr)
 3 {
 4     int count = 0;
 5     while(*str)
 6     {
 7         int i;
 8         //如果在大串中碰到相同的字符,则进入循环开始连续判断,如果出现不相同的则终止循环。如果完全相同则小串正常结束
 9         for(i = 0;*(str+i) == *(subStr+i)&& *(subStr+i) != \0;i++);
10         if(*(subStr+i) == \0)
11         {
12             count++;
13             str += i;//之前为:str = str + i;改为str += i;  比较好理解,str后追加偏移的单位
14         }
15         else
16             str++;//如果 *(str+i) != *(subStr+i)    str++   ,统一str只往前走一步。
17     }
18     return count;
19 }
20 
21 int main()
22 {
23     char* str = " aaab aa aaab";
24     char* subStr = " aaab";
25     printf("count = %d\n",getSubstrCount(str,subStr));
26     return 0;
27 }

 

母串中有几个相同的子串

标签:出现   char   sub   else   count   stdio.h   字符   +=   ++   

原文地址:https://www.cnblogs.com/wangchaomahan/p/9572916.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!