Anastasiya9kmmr, используйте более "говорящие" переменные и комментируйте код.
Для того, чтобы сторонний человек понял работу функции
mul_numbers надо очень сильно постараться.
При попытке расставить отступы, чтобы добраться хотя бы до структуры, и от ее строения понять выполняемую логику, возникло подозрение.
PHP код:
if(i > 0)
memmove(p + i, p, l - (size_t)(p - t));
s += i - 1;
l += i;
В этих строках нет пропущенных фигурных скобок (составного оператора) ?
Далее не разбирал.
Прошу добавить комментариев и пояснить смысл действий, и дать более "говорящие" названия переменным, или при объявлении рассказать что за что отвечает.