gpt4 book ai didi

c - 限制有限状态自动机字符串匹配的字母表

转载 作者:行者123 更新时间:2023-11-30 15:22:42 25 4
gpt4 key购买 nike

嗨,我已经编写了有限状态自动机字符串匹配算法。然而,我正在努力将字母表限制为只有两个字符。我的实现看起来类似于 http://www.sanfoundry.com/cpp-program-perform-finite-state-automaton-based-search/

NO_OF_CHAR 变量表示程序的字母表。我试图将其限制为仅两个字符 {0,1},例如:0101001。如果有人了解有限状态自动机,我们将不胜感激。

最佳答案

来自OP对我的程序输入问题的回答:

char text[]="0101001010101"; char pattern[]="1001";

所以你给它一个普通的字符串,其中的字符以 ASCII 编码。 FSM 使用这些字符来索引状态和转换表(第 60 行)。输入字符串中的字符“0”是 int 值 48,而“1”是 49。当您声明数组 2 项长时,这些字符值导致表达式远远超出数组限制并读取一些随机数据。这会导致程序朝着意想不到的方向徘徊并最终崩溃。这是未定义行为的特例。

解决方案:将 NO_OF_CHAR 设置为至少 49 49+1。 (谢谢你,@wildplasser!)

关于c - 限制有限状态自动机字符串匹配的字母表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29124130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com