我的意思是,为什么在这个位置初始化,不是在FOR循环前实行初始化

解决方案 »

  1.   

    字符的匹配是先从第一个字母开始的,后面的字符每匹配一次j就加1。所以j所记录的就是已经匹配的字符的长度。如果后面有一个字母不匹配就重新开始循环,也就是i++,进入下一次循环,这时就从第二个字符开始比较。依次……
    比如在I love you中找love:
    第一次:
    I love you
    love  (j=0,就进入了下一次循环)
    第二次:
    I love you
     love (同上)
    第三次:
    I love you
      love (j=4,找到匹配串)
    可以了?