#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;
#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;
}
为了程序的排错 搞了半天 好在基本都懂了 都在注释上了