鱼C论坛

 找回密码
 立即注册
查看: 3404|回复: 2

有无大佬帮我看看问题出在哪了,看了两三天愣是看不出来,一直查找失败

[复制链接]
发表于 2018-11-12 18:30:18 | 显示全部楼层
get_next()函数完全不能达到你想要的目的:返回子串T在主串S第pos个字符之后的位置,函数里有S吗?S都没有怎么可能得到位置,其次就是循环,要建立能够扫描到整个数组的循环,而且你还要把T数组的所有字符的位置都检查出来,,,总之你的这个get_next()函数特乱,我是看不下去。。。建议不要想的太复杂,最好从一个一个字符来。。。打个比方。。。

void main()
{
        int i=0, j=0;
        char q[] = {"qwer"};
        char w[] = {"qw"};
        for (i = 0; i < sizeof(q); i++,j++)
        {
                if (q[i] == w[j])
                {
                        printf("%d\n",i);
                }
        }
}

输出是0,1;
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-12 18:32:35 | 显示全部楼层
绊axs 发表于 2018-11-12 18:30
get_next()函数完全不能达到你想要的目的:返回子串T在主串S第pos个字符之后的位置,函数里有S吗?S都没有 ...

我这个例子不是很好,参考一下就好啦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-20 12:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表