【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱: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;
}