Möglicherweise rührt die Nicht-Funktion in dem Fall daher, dass Peter auf die Null reingefallen ist ... Das erste Zeichen in einem
String ist aber an Position 1, im Zeichen Null findet man die Länge des Strings.
Demzufolge kann "last" auch als
Quelltext
zugewiesen werden.
Trotzdem springt die Funktion raus, weil sie bereits beim ersten Durchlauf den "Fehler" bemerkt. Um beim Beispiel von TOBABOT zu bleiben:
Im Zeichen #0 steht das Char 7 (Länge), und das ist ungleich O, weil
Quelltext
1:
| if str[pos] <> str[last-pos] then |
Wenn man "last" wie o.g. verändert, bleibt´s dabei, weil das Zeichen #7 auch ungleich T ist.