编写一个程序求一个子串在一个字符串中出现的次数,如果该字符不出现则返回0

xiaoxiao2021-02-28  94

#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; }
转载请注明原文地址: https://www.6miu.com/read-2627007.html

最新回复(0)