我下面的代码将为两个字符串的匹配起始索引返回随机值。例如,如果 s = Mississippi 和 t = sip,该函数应该返回 6。我设置了我的代码,以便它在返回之前打印出 m 的值。实际上,我的程序打印出 6,但随后它返回数百万的随机值。
int index_of_sub(string s, string t, int m)
{
if(s.length() - m < t.length())
{
return -1;
}
if(s.substr(m, t.length()) == t)
{
cout << m << endl;
return m;
}
else
{
index_of_sub(s, t, m + 1);
}
}//end index_of_sub function
int index_of(string s, string t)
{
return index_of_sub(s, t, 0);
}//end index_of function