/* 找到一个字符串出现的位置 */
#define NUM 256
#include <stdio.h>
main()
{
char cc[NUM],findc[NUM];
int i=0,nPos=0,j=0,lensub=0;
printf("input a string");
gets(cc);
printf("\ninput a find string\n");
gets(findc);
printf("\nyou input:%s",cc);
printf("\nyou will find:%s",findc);
for(i=0;findc[i]!='\0';i++)
lensub=i;//先确定长度
printf("the length of sub:%d\n",lensub);
//依次取原字符中的lensub个比较
i=0;
while(i+lensub<NUM&&cc[i+lensub]!='\0')
{//比较剩余字符是否等于子串
nPos=i;
for(j=0;j<lensub;j++)
{
if(cc[i+j]!=findc[j])
{
nPos=-1;//表示没找到
break;
}
}
if(nPos>=0)//找到了
{
break;
}
i++;
}
if(nPos>=0)
{
printf("the position :%d\n",nPos);
}
else
{
printf("not find!");
}
}