C语言 两串字符串a中是否包含b

2025-02-23 06:57:49
推荐回答(3个)
回答1:

#include
#include
#include"stdlib.h"
#define N 100
int main()
{
char word[N];
char *a,*b,*p;
int time,i;
scanf("%d",&time);

for (i=1;i<=time;i++)
{
scanf("%s",word);
a=(char*)malloc(strlen(word)+1);
strcpy(a,word);
scanf("%s",word);
b=(char*)malloc(strlen(word)+1);
strcpy(b,word);

p=strstr(a,b);222
if(p!=NULL)
printf("Yes\n");
else
printf("No\n");
}
free((void*)a);
free((void*)b);

return 0;
}
就这样吧,你要的那种同时输入同时输出我做不到 看看有没人能做到吧.
你那个程序输入的时候就有毛病,指针怎么可以用%s输入的对吧?根本就没指向是个野指针

回答2:

野指针!!!!

#include
#include
int main()
{
char a[1024];//
char b[1024];//
char *p;
scanf("%s%s",a,b);
p=strstr(a,b);
if(p!=NULL)
printf("Yes");
else
printf("No");
return 0;
}

回答3:

scanf函数需要取地址符"&"