Цитата
стоит ли полагаться на такие вещи..
На какие
такие? Я не делаю ничего запрещенного, заметь,
сначала - рекурсивный вызов,
потом - использование значения
b. То есть, никогда не будет использовано неинициализированное тобой значение b. Чтобы оно начало использоваться - рекурсия должна дойти до конца (x = 0), но тогда b уже станет равно 1. Опять же, "типизированная константа" = "статическая переменная", она описывается в сегменте
данных (а не в стеке, как обычная переменная), и поэтому сохраняет свое значение не только между вызовами
простых функций, но и между вызовами
рекурсивных тоже, так что и с этой стороны подвохов быть не может. Так что это вполне приемлемая конструкция.
Цитата
У меня не каждый раз срабатывала под FPC
Если еще у кого-то будут неправильные срабатывания - отпишитесь здесь, интересно, на каких значениях это происходит. Чему разно изначальное число, и что возвращает функция. Единственный вариант, который приходит в голову - это когда "перевернутое" число не влезет в LongInt (например, 1234567899), но тут уж ничего не поделаешь.