#include<stdio.h>
int main(){
char string[20]; //字符串
char sub_string[5]; //子串
printf("please input a main string: "); //键盘键入目标字符串
gets(string);
printf("please input a sub string: "); //键盘键入子串
gets(sub_string);
char *point=string,*sub_point=sub_string; //定义两指针分别指向目标字符串和子字符串
int count=0;
for(;*point;point++){ //每轮循环,指向目标字符串的的指针都会后移一位
if((*point)==(*sub_point)){ //两个指针所指字符相同时,指向子串的指针向后移一位
sub_point++;
}else{ //否则,重置指向子串的指针的位置
sub_point=sub_string;
}
if(*sub_point=='\0'){ //直到指向子串的指针将子串遍历后,计数器增加1
count+=1;
sub_point=sub_string;
}
}
printf("the count is %d \n",count); //输出计数器的值,该值就是出现的次数
return 0;
}