关于c中编写一个字符串是否包含另外一个字符串,是返回1不是返回0的问题求高手指教。不要直接调用函数库 5
#include<stdio.h>#include<string.h>intstring_search(charstr1[],charstr2[]){inti,j;for...
#include<stdio.h>
#include<string.h>
int string_search(char str1[],char str2[])
{
int i,j;
for(i=0;i<strlen(str1);i++)
{
if((str1[i]==str2[0])&&(strlen(str1)-i>=strlen(str2)))
{
for(j=0;j<=strlen(str2);j++)
{
if(str2[j]==str1[i+j])
return 1;
else
return 0;
break;
}
}
}
}
main()
{
char st1[]="abcdef";
char st2[]="abf";
int a;
a=string_search(st1,st2);
printf("%d",a);
}
为什么前两个字符不对照会返回0但是第三个字符要是不对照的话返回时1
{return 0;
break;} 这个地方是用大括号括住的,望高手指教 展开
#include<string.h>
int string_search(char str1[],char str2[])
{
int i,j;
for(i=0;i<strlen(str1);i++)
{
if((str1[i]==str2[0])&&(strlen(str1)-i>=strlen(str2)))
{
for(j=0;j<=strlen(str2);j++)
{
if(str2[j]==str1[i+j])
return 1;
else
return 0;
break;
}
}
}
}
main()
{
char st1[]="abcdef";
char st2[]="abf";
int a;
a=string_search(st1,st2);
printf("%d",a);
}
为什么前两个字符不对照会返回0但是第三个字符要是不对照的话返回时1
{return 0;
break;} 这个地方是用大括号括住的,望高手指教 展开
2个回答
展开全部
#
命名空间std; size_t类型FindNum
(str1的字符串,字符串str2);
诠释的main()
{
字符串str1 =“123456345734583459”;
字符串str2的IT =“345”;
为size_t和?FindNum *(STR1,STR2); </法院<< N << endl;
返回0;
}
字符串STR1的FindNum(size_t类型,字符串str2)/ /返回字符串str2 str1的数量,返回0
{
为size_t NUM = 0时不出现;
字符串strTmp = str1的;
同时,(strTmp.find(str2)中!=字符串::非营利组织)
{
数+ +;
strTmp = strTmp.erase(strTmp.find(str2)中在str2.length());
} BR />回数
}
命名空间std; size_t类型FindNum
(str1的字符串,字符串str2);
诠释的main()
{
字符串str1 =“123456345734583459”;
字符串str2的IT =“345”;
为size_t和?FindNum *(STR1,STR2); </法院<< N << endl;
返回0;
}
字符串STR1的FindNum(size_t类型,字符串str2)/ /返回字符串str2 str1的数量,返回0
{
为size_t NUM = 0时不出现;
字符串strTmp = str1的;
同时,(strTmp.find(str2)中!=字符串::非营利组织)
{
数+ +;
strTmp = strTmp.erase(strTmp.find(str2)中在str2.length());
} BR />回数
}
展开全部
int string_search(char str1[],char str2[])
{
int i,j;
for(i=0;i<strlen(str1);i++)
{
if((str1[i]==str2[0])&&(strlen(str1)-i>=strlen(str2)))
{
for(j=0;j<strlen(str2);j++)
{
if(str2[j]!=str1[i+j])//只要发现一个不在其中就返回0;
return 0;
else
return 1;
break;
}
}
}
}
{
int i,j;
for(i=0;i<strlen(str1);i++)
{
if((str1[i]==str2[0])&&(strlen(str1)-i>=strlen(str2)))
{
for(j=0;j<strlen(str2);j++)
{
if(str2[j]!=str1[i+j])//只要发现一个不在其中就返回0;
return 0;
else
return 1;
break;
}
}
}
}
追问
大师你的回答不对吧,编译之后还是不正确
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询