Для правильного вопроса надо знать половину ответа
void wrInt(int val) {
int l = 1, v = val;
if (v < 0) {
write(1, "-", 1);
v = -v;
}
while ((v = v/10) > 0)
l *= 10;
while (l > 0) {
v = val % l;
ft_putchar(v + '0');
val -= v*10;
l /= 10;
}
}
void wrInt(int val)
{
int l = 1, v = val;
if (v < 0) {
write(1, "-", 1);
v = -v;
val = -val;
}
while ((v = v/10) > 0)
l *= 10;
while (l > 0)
{
v = val / l;
ft_putchar(v + '0');
val -= v*l;
l /= 10;
}
}
скорректированный код, но не учитывается минимальное отрицательное значение