3个回答
展开全部
3个问题
1、没有写注释的习惯,导致定义和使用时脑子中逻辑出现差异
2、flag逻辑问题,看你代码flag表示匹配标志,那么无需初始化为1,这样默认情况一直循环,只有匹配到了设置为1退出循环,但是从你匹配到之后却是清除标志使得继续循环,结果一个都找不到,即跳过a。
3、递增要写在if外面,无论是否匹配到都要递增,放if里面就会出现匹配不到不递增导致重复匹配同一个元素,死循环。
这段代码的逻辑就是,如果没有匹配到则死盯着当前元素匹配,如果匹配到了则跳过匹配下一个元素。
1、没有写注释的习惯,导致定义和使用时脑子中逻辑出现差异
2、flag逻辑问题,看你代码flag表示匹配标志,那么无需初始化为1,这样默认情况一直循环,只有匹配到了设置为1退出循环,但是从你匹配到之后却是清除标志使得继续循环,结果一个都找不到,即跳过a。
3、递增要写在if外面,无论是否匹配到都要递增,放if里面就会出现匹配不到不递增导致重复匹配同一个元素,死循环。
这段代码的逻辑就是,如果没有匹配到则死盯着当前元素匹配,如果匹配到了则跳过匹配下一个元素。
更多追问追答
追问
我这个代码求的是一段字符中第一个没有重复的字母,所以可不可以帮我看一下具体要改的地方是在哪里呢?
追答
不是都写了嘛,if里面改为flag=1,递增放if外面,循环开始对flag初始化移动到循环上面,初始值为0
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2020-08-01
展开全部
进入死循环了
追问
可不可以具体说一下呢?
可不可以具体说一下呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询