大家过来看!帮小弟我解决这道题的小BUG.

大家过来看!!帮我解决这道题的小BUG..急在线等
要求是用户输入二个字符串,然后在字符串一中找,看有没有字符串二,有的话就输出 "出现过在哪个地位置 "没有就输出没有.
#include <stdio.h>

void   main()

{
//定义
char   ptr1[100],ptr2[20];
        int   i=0,j=0,k=0,count=0,number;

//输入
printf( "请输入第一个字符串: ");
gets(ptr1);
fflush(stdin);
printf( "请输入第二个字符串: ");
gets(ptr2);
//计算ptr2一共有几个字符
for(i=0;ptr2[i]!= '\0 ';i++)
{
count++;
}
//把ptr2的字符个数赋给number
number=count;

//开始判断
for(;ptr1[k]!= '\0 ';)
{

//判断假如ptr2[j]和ptr1[k]一直相同的话
if(ptr2[j]==ptr1[k])
{
j++;
k++;
count++;

if((ptr2[j]== '\0 ')   &&(count==number))
{
printf( "出现过!!第二个字符串在第一个字符串的%d开始出现到%d结束\n ",(k-number+1),k);
break;
}

}

//不同的话
else
{
j=0;
k++;
count=0;
}
}

//当ptr1[k]等于回车的话再判断
if(count!=number)
{
printf( "没有出现过\n ");
}
}


这有个小BUG
别的都可以.就是那些2个连的不行.例:字符串1.tth字符串2.th   这样就找不到.
例:tt     tt     这样也找不到..两个连起来的就找不到.不知为什么.别的都行.大家帮我看看.谢

------解决方案--------------------
#include <stdio.h>

void main()

{
//定义
char ptr1[100],ptr2[20];
int i=0,j=0,k=0,count=0,number;

//输入
printf( "请输入第一个字符串: ");
gets(ptr1);
fflush(stdin);
printf( "请输入第二个字符串: ");
gets(ptr2);
//计算ptr2一共有几个字符
for(i=0;ptr2[i]!= '\0 ';i++)
{
count++;
}
//把ptr2的字符个数赋给number
number=count;

//开始判断
for(;ptr1[k]!= '\0 ';)
{
count = 0;

//判断假如ptr2[j]和ptr1[k]一直相同的话

for (j=0; j <number; j++) {
if(ptr1[k+j]!= '\0 ' && ptr2[j]==ptr1[k+j])
{
count++;

if(count==number)
{
printf( "出现过!!第二个字符串在第一个字符串的%d开始出现到%d结束\n ",k+1, (k+number));
break;
}

}

//不同的话
else
{
break;
}
}
k++;
if (count==number) break;
}

//当ptr1[k]等于回车的话再判断
if(count!=number)
{
printf( "没有出现过\n ");
}
}

------解决方案--------------------
char *strstr();