c++相关的有关字符串的子串的问题

img


只能使用c++相关内容,不能使用c语言,并不能太明白怎么实现这个程序,也不太懂第一个索引的含义

#include<iostream>
#include<cstring>
using namespace std;
 
int indexOf(char *s1, char *s2);
int main()
{
    int size=999;
    char s1[size],s2[size];
    cout<<"Enter the first string : ";
    cin.getline(s1,size);
    cout<<"Enter the second string: ";
    cin.getline(s2,size);
    cout<<"indexOf(\""<<s1<<"\", \""<<s2<<"\") is "<<indexOf(s1,s2)<<endl;
 
    return 0;
}
 
int indexOf(char *s1, char *s2)
{
    int a,b,index,j,k;
    a=strlen(s1);
    b=strlen(s2);
    bool s3[a];
    for(int m=0;m<a;m++)
        s3[m]=false;
    for(int i=0;i<b-a+1;i++)      //控制s2的首字母
    {
        for(j=0,k=i;(j<a)&&(k<i+a);j++,k++)      //控制s2的总输出数
            if(s1[j]==s2[k])
            {
                index=i;
                s3[j]=true;
            }
            int h=0;
            for(int n=0;n<a;n++)
            {
                if(s3[n]==false&&i==b-a)
                {
                    return -1;break;
                }
                if(s3[n])
                    h++;
            }
            if(h==a)
            {
                return index;
            }
    }
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632