统计字符串中 子串出现的次数

有点长哈

键盘输入两个字符串 arr1和 arr2,统计字符串 arr2 在 字符串 arr1 中出现的次数,并输出.
这段代码有点长,但是理解起来到是不是太难,根据题目可知字符串arr1的长度是大于arr2的长度的,所以这里没有对它们两个进行比较,要是在不知道的情况下就需要比较判断它们两个谁是子串了,这个也好比较,通过strlen算一下长度比较一下就行了,这里while语句循环判断的条件是 *p当它为‘\0’时 也就是说当较长的字符串遍历结束后整个代码完成统计了,进入循环后先进行字符的比较,如果相等便进入if语句内,长度较小的字符串先向后移一位,在用 j 这个变量统计移动的长度,在拿j与子串的长度进行比较,如果不想等,字符串向后移一位在进行比较,如果相等说明,找到了一个子串,统计变量count加一,然后在吧j重置为0,子串在回到第一个字母,跳出本次循环,接着向后进行比较。如果不相等则进入else语句,字符串位置向后移一位,子串回到第一个字符,j 重置为0,这样就能保证,字符串是一直在向后移动,如果子串中有前几个字母和字符串相同当遇到不同的字母时,又从新开始比较,只有确保全部字母相同是,才进行统计加一。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值