Zapis taki jest zgodny ze składnią języka C.

Aby zilustrować szczegóły algorytmu rozważmy przebieg algorytmu dla wzorca W= "ABCDABD" i tekstu S= "ABC ABCDAB ABCDABCDABDE". W każdym momencie algorytm znajduje się w stanie opisanym przez dwie liczby całkowite:

m, numer pozycji w S, od której rozpoczyna się aktualna próba dopasowania wzorca W, i, numer pozycji aktualnie rozpatrywanego znaku wzorca W. 1 2 m: 01234567890123456789012 S: W: i: Algorytm kolejno porównuje znaki wzorca W do znaków tekstu S na odpowiadających pozycjach, przechodząc do kolejnego znaku i zwiększając i, gdy są zgodne. W powyższym przykładzie dla czwartej iteracji S = ' ' nie odpowiada W = 'D'. Ponieważ 'A' nie występuje na pozycjach 1 i 2 w S, z racji częściowego dopasowania wzorca, próby dopasowania wzorca nie powiodą się w przypadku rozpoczęcia od pozycji m < 3. Algorytm przyjmuje zatem m = 3 oraz i = 0. 1 2 m: 01234567890123456789012 S: ABC W: i: Ta próba dopasowania okazuje się nieskuteczna już przy pierwszym znaku, stąd algorytm przesuwa wzorzec na następną pozycję, ustawiając m = 4 oraz i = 0 1 2 m: 01234567890123456789012 S: ABC W: i: W tym miejscu skutecznie udaje się dopasować prefiks ciąg "ABCDAB", zwiększając przy tym indeks i do i = 6. Jednak W i S nie są zgodne, więc dopasowanie wzorca nie powiodło się.