C语言定义一个函数,判断字符串中是否包含另一个子串!!!!!!急

C语言定义一个函数,判断字符串中是否包含另一个子串!!!!!!急C语言的,帮忙写。给奖励很多

调用strstr()函数就可以实现

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

int main()
{
char s[]="12345678";
char s1[]="135";
char s2[]="567";

if ( strstr(s,s1) )
{
printf("ok\n");
}
else
{
printf("no\n");
}
//--以上显示no
if ( strstr(s,s2) )
{
printf("ok\n");
}
else
{
printf("no\n");
}
//--以上显示ok
return 0;
}

追问

能自己输入么

追答#include <string.h>
#include <stdio.h>
 
int main()
{
    char s[100];
    char s1[100];
 
     printf("input s:");
     gets(s);
     printf("input s1:");
     gets(s1);
    if ( strstr(s,s1) )
    {
        printf("ok\n");
    }
    else
    {
        printf("no\n");
    }
    return 0;
}

追问

谢谢

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-04-21
#include <stdio.h>
char *mystrstr(char *s1,char *s2);
int main(void)
{
char s1[]="123456789",s2[]="123";
if(mystrstr(s1,s2)!=NULL)
{
puts("YES");
}
else
{
puts("NO");
}
return 0;
}
char *mystrstr(char *s1,char *s2)
{
char *p,*q;
for(;*s1;s1++)
{
if(*s1==*s2)
{
for(p=s1,q=s2;*q&&*p==*q;p++,q++);
if(!*q)
{
return s1;
}
}
}
return NULL;
}

追问

用scanf自己输入的

相似回答