问题遇到的现象和发生背景 字符串匹配
用代码块功能插入代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果可以帮我看看哪点出错了吗
只有这一个测试点无法过
只有这一个测试点无法过
int FindSubStr(char *t, char *p)
{
char *t1 = t, *p1 = p;
int len = 0;
while (*(p1 + len)) // p长度
len++;
while (*t1)
{
if (*t1 == *p) // p的第一个字符相同后展开比较整个字符串。
{
p1 = p;
while (*p1 && *p1 == *t1) //比较整个p字符串
{
p1++;
t1++;
}
if (*p1 == 0) // p全部匹配
{
return t1 - t - len;
}
}
t1++;
}
return -1;
}
int main()
{
int n;
char a[] = "string ring";
char b[] = "ring";
n = FindSubStr(a, b);
printf("%d", n);
return 0;
}