不用strstr 只用for语句和if语句。
不用指针 结果如 asbc包含在qweasbcdf内 我是新手太简化的我看不懂
对两个字符串进行测试,求第一个字符串是否包含在第二个字符串中
答案:3 悬赏:60 手机版
解决时间 2021-02-06 17:39
- 提问者网友:风月客
- 2021-02-05 18:54
最佳答案
- 五星知识达人网友:末日狂欢
- 2021-02-05 19:18
#include <iostream>
#include <fstream>
using namespace std;
int substr(const char *p,const char *sub);
int substr(const char *p,const char *sub)
{
int n=0,m=0;
int i,j;
while(*(p+n)!='\0')
{
n++;
}
while(*(sub+m)!='\0')
{
m++;
}
for(i=0;i<n-m+1;i++)
{
for(j=0;j<m;j++)
{
if(*(p+i+j)!=*(sub+j))
{
break;
}
}
if(*(p+i+j-1)==*(sub+j-1))
{
return i;
}
}
cout<<"不存在这样的子串"<<endl;
return -1;
}
int main()
{
char *p="dhfdsjdsjtyuioghgfjhgf";
char *sub="tyuio";
cout<<substr(p,sub);
return 0;
}
若采纳请给分 谢谢 哈哈
#include <fstream>
using namespace std;
int substr(const char *p,const char *sub);
int substr(const char *p,const char *sub)
{
int n=0,m=0;
int i,j;
while(*(p+n)!='\0')
{
n++;
}
while(*(sub+m)!='\0')
{
m++;
}
for(i=0;i<n-m+1;i++)
{
for(j=0;j<m;j++)
{
if(*(p+i+j)!=*(sub+j))
{
break;
}
}
if(*(p+i+j-1)==*(sub+j-1))
{
return i;
}
}
cout<<"不存在这样的子串"<<endl;
return -1;
}
int main()
{
char *p="dhfdsjdsjtyuioghgfjhgf";
char *sub="tyuio";
cout<<substr(p,sub);
return 0;
}
若采纳请给分 谢谢 哈哈
全部回答
- 1楼网友:痴妹与他
- 2021-02-05 21:06
他在瞎写,你看不出来吗?
再看看别人怎么说的。
- 2楼网友:底特律间谍
- 2021-02-05 19:42
bool strcontain(string str1, string str2)
{
int aL1=strlen(str1);
int aL2=strlen(str2);
for(int i=0; i<=aL2-aL1; i++)
{
string str=str2.substring(i, aL1);
if(str.equeals(str1))
return ture;
}
return false;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯