问题描述:
求一个子串在母串中出现的次数。
(1)思路:
1.用一个外循环,来遍历母串。
2.指定两个指针p、q分别指向子串的首地址和母串的首地址;
3.如果*p==q,则{ p++;q++; }
否则 {
母串首地址向后移动一个位置;
用break跳出比较内循环;
}
4.判断q==‘\0’,如果是则:计数器++
5.跳出外循环
(2)详细代码:
//C++
#include<conio.h>
#include<string.h>
#include<iostream>
#define M 81
using namespace std;
//fun()函数,ss代表母串,s代表子串.
int fun(char *ss,char *s){
int count=0;
char *p,*q;
while(*ss!='\0'){
p=ss; //p指向ss首地址
q=s; //q指向s首地址
while(*s!='\0'){
if(*p==*q){
p++;
q++;
}else {
ss++; //此处需注意,当字符比较不相等时,则需要将ss的地址向后移动一个。
break;
}
}
if(*q=&#