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 }