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