求助~~~字符串
请高手帮我修改一下,判断母字符串中有几个重复的子字符串,其位置分别在母字符串的第几个位置出现#include<stdio.h>
#include<string.h>
void main()
{
char a[20],b[10],c[10]={0};
char *pa=a;
int a1,b1,i=0;
int flag=0;
printf("\n请输入母字符串:");
fflush(stdin);
gets(a);
printf("\n请输入子字符串:");
fflush(stdin);
gets(b);
a1=strlen(a);
b1=strlen(b);
for(;i<=a1-b1;i++)
{
strncpy(c,pa+i,b1);
if(strcmp(c,b)==0)
{
printf("母字符串中包含子字符串,在第%d个位置开始.\n",i+1);
flag=1;
break;
}
if (flag=0)
printf("母字符串中部包含子字符串!\n");
}
}
搜索更多相关的解决方案:
字符串
----------------解决方案--------------------------------------------------------
if(strcmp(c,b)==0)
{
printf("母字符串中包含子字符串,在第%d个位置开始.\n",i+1);
flag=1;
break; //这句删掉
}
if (flag=0)
printf("母字符串中部包含子字符串!\n");
} //这个括号移到if (flag=0)这句的前面
----------------解决方案--------------------------------------------------------