判断字符串str2是否整体包含在字符串str1中,若包含,则输出str2第一次出现在str1中的起始位置。例如:str1="abcdexyde",str2="de",则str2包含在str1中,应输出第一次出现的位置4。若不包含,则输出str2不在str1中的信息。例如:str1="abcdexyde",str2="bd",则str2不包含在str1中。
#include <stdio.h>
int main()
{
char str1[100] = { 0 };
char str2[100] = { 0 };
gets(str1);
gets(str2);
int flag = 0;
int i = 0;
for (i = 0; str1[i] != '\0'; i++)
{
if (flag == 1)
{
break;
}
if (str1[i] == str2[0])
{
int tmp = i;
flag = 1;
for (int j = 0; str2[j] != '\0'; j++)
{
if (str1[tmp] != '\0' && str2[j] == str1[tmp])
{
tmp++;
}
else
{
flag = 0;
break;
}
}
}
}
if (flag == 1)
{
printf("str2包含在str1中,其出现的位置在第%d个字符处\n", i);
}
else
{
printf("str2没有包含在str1中\n");
}
return 0;
}