父串子串

#include <stdio.h>
#define N 100 //宏定义MAX的值,方便更改数组的值
int main()
{


char src[N]; //定义父串数组的名字src
char sub[N]; //定义子串数组的名字sub


int i;
int j; //定义循环变量
int count = 0; //变量初始化
int src_len = 0;
int sub_len = 0; //定义数组的长度并初始化




printf("Please input fatherstring:\n"); //显示提示信息
scanf("%s",src); //输入父串


printf("Please input sonstring:\n"); //显示提示信息
scanf("%s",sub); //输入子串


printf("fatherstring = %s\n",src);
printf("sonstring = %s\n",sub); //显示输入的值是否对应正确

src_len = strlen(src);
sub_len = strlen(sub);

for(i = 0;i < src_len;i ++) //外层循环,遍历父串的所有内容
{


for(j = 0;j < sub_len;j ++) //内层循环,遍历子串的所有内容
{


if(src[i + j] == sub[j]) //选择条件,对应相等则继续检测
{


continue;
}
else
{


break; //否则,跳出循环
}
}
if(j == sub_len) //如果遍历子串所有内容,父串从(i - 1) + sub_len重新判断
{


i = (i - 1) + sub_len;
count ++; //此时计数自增
}
}


printf("count = %d\n",count); //显示计数,子串在父串中出现的次数


return 0;

}

为了程序的排错 搞了半天  好在基本都懂了  都在注释上了

猜你喜欢

转载自blog.csdn.net/weixin_42195913/article/details/80370053