大佬们帮忙找找错,实在不会了

#include<stdio.h>

#include<string.h>

int main()

{

    int i,j,k=0,m,n;

    char str1[100],str2[100],str[100];

    char *p=str2,*q=str;

    fgets(str1,100,stdin);

    fgets(str2,100,stdin);

    m=strlen(str1);

    n=strlen(str2);

    printf("m=%d,n=%d\n",m,n);

    for(i=0;i<=m-n;i++)

    {

        for(j=0;j<n;j++)

        

            str[j]=str1[i+j];

        

        if(!strcmp(str,str2))

        {

            k=i+1;

            i=m-n;

        }

    }

    if(k)

    printf("str2包含在str1中,其出现的位置在第%d个字符处\n",k);

    else

    printf("str2没有包含在str1中\n" );

    return 0;

}

 

#include<stdio.h>
#include<string.h>

int main()
{
    int i,j,k=0,m,n;

    char str1[100]="abcdexyde";
    char str2[100]="de";
    char str[100];

    char *p=str1,*q=str2;

    //fgets(str1,100,stdin);
    //fgets(str2,100,stdin);

    m=strlen(str1);
    n=strlen(str2);
    if(m<n) k=0;
    else
    {
        for(i=0;i<m-n;i++)
        {
            if(*(p+i)==*q)
            {
                for(j=0;j<n;j++)
                {
                    if(*(p+i+j)!=(*q+j))
                        break;
                }
                if(j==n)
                {
                    k=i+1;
                    break;
                }
            }
        }
    }

    

    if(k)
        printf("str2包含在str1中,其出现的位置在第%d个字符处\n",k);
    else
        printf("str2没有包含在str1中\n" );

    return 0;

}

 

供参考:

#include<stdio.h>

int main()

{
    int i,j,k=0,m,n;
    char str1[100],str2[100];
    //char *p=str2,*q=str;
    fgets(str1,100,stdin);
    fgets(str2,100,stdin);
    m=strlen(str1)-1;
    n=strlen(str2)-1;
    printf("m=%d,n=%d\n",m,n);
    for(i=0;i<m;i++)
    {
        k=i;
        for(j=0;j<n;j++) {
           if(str2[j]==str1[k++]) continue; 
           else                   break;
        }
        k=0;
        if(j==n)
        {
            k=i+1;
            break;
        }
    }
    if(k)
       printf("str2包含在str1中,其出现的位置在第%d个字符处\n",k);
    else
       printf("str2没有包含在str1中\n" );
    
    return 0;
}