好 重新修改一下,
//===
#include <stdio.h>
#include <string.h>
//---
int cmpsubstr(char a[81],char b[81])
{
int i,j,flag=-1;
for(i=0;i<=(strlen(a)-strlen(b));i++)
{
flag=i;
for(j=0;j<strlen(b);j++)
if(b[j]!=a[i+j])
break;
if(j==strlen(b))
return flag;
}
return -1;
}
//---
void main()
{
char a[81],b[81];
int n;
printf("输入字符串a:");
gets(a);
printf("输入字符串b:");
gets(b);
if(strlen(a)>=strlen(b))
{
n=cmpsubstr(a,b);
if(n!=-1)
printf("b是a的子串,位置从a[%d]开始",n);
else
printf("b不是a的子串");
}
else
{
n=cmpsubstr(b,a);
if(n!=-1)
printf("a是b的子串,位置从b[%d]开始",n);
else
printf("a不是b的子串");
}
}
//===
温馨提示:答案为网友推荐,仅供参考