如果匹配成的话,内循环一定是一次性跑完,直到 j<m
条件不满足才退出的啊。
那么他为啥还要写m<=j
呢?
为何不能直接这样呢? if(m==j) break;
"<" 的意义在于什么呢?
写成"m <= j"是不规范的,应该写成"m == j"的形式。
其实写成
if(m == j)
break;
也是有问题的,因为只break了内层循环,外层循环没有break,循环继续执行,函数并没有结束。
可以写成:
if(m == j)
return i;
不管怎么说,这段代码是乱糟糟的,不用纠结这个代码,这种代码看多了,反而影响自己的编程水平。