数据结构——算法之(028)( 找寻其中的一个子字符串个数)
数据结构——算法之(028)( 寻找其中的一个子字符串个数)
【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:Mr_chenping@163.com】
题目:
已知一个字符串,比如asderwsde,寻找其中的一个子字符串比如sde 的个数,如果没有返回0,有的话返回子字符串的个数
题目分析:
1、顺序遍历字符串,然后用strncmp比较即可
算法实现:
#include <stdio.h> #include <string.h> int sub_str_count(const char *str, const char *sub_str) { int str_len = strlen(str); int sub_str_len = strlen(sub_str); int count = 0; int times = str_len - sub_str_len + 1; while(times--) { if(!strncmp(str, sub_str, sub_str_len)) count++; str++; } return count; } int main(int argc, char *argv[]) { printf("%s----%s--->%d\n", argv[1], argv[2], sub_str_count(argv[1], argv[2])); return 0; }