关于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;} 这个地方是用大括号括住的,望高手指教
展开
 我来答
pippo仔
2013-02-07 · TA获得超过7935个赞
知道大有可为答主
回答量:1.5万
采纳率:0%
帮助的人:4842万
展开全部


命名空间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 />回数
}
海洋phyZ
2013-01-25 · 超过17用户采纳过TA的回答
知道答主
回答量:108
采纳率:0%
帮助的人:24.4万
展开全部
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;
}
}
}
}
追问
大师你的回答不对吧,编译之后还是不正确
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式