// version la plus simple
#include <unistd.h>
#include <limits.h>
void ft_putnbr(int nb)
{
char z;
if (nb == INT_MIN)
{
write(1, "-2147483648", 11);
}
else
{
if (nb < 0)
{
write(1, "-", 1);
nb = -nb; // Conversion correcte du nombre négatif
}
if (nb > 9)
{
ft_putnbr(nb / 10);
ft_putnbr(nb % 10);
}
else
{
z = nb + '0';
write(1, &z, 1);
}
}
}
int main(void)
{
ft_putnbr(45);
write(1, "\n", 1);
ft_putnbr(-45);
write(1, "\n", 1);
ft_putnbr(0);
write(1, "\n", 1);
ft_putnbr(INT_MIN); // Test pour la valeur minimale d'un entier
return 0;
}
/*
// version la plus comprehensif
#include <unistd.h>
void ft_putnbr(int nb)
{
char nbl;
if (nb == -2147483648)
{
write(1, "-2147483648", 11);
}
else
{
if (nb < 0)
{
write(1, "-", 1);
nb = nb * (-1);
}
if (nb > 9)
{
ft_putnbr(nb / 10);
ft_putnbr(nb % 10);
}
if (nb < 10)
{
nbl = nb + '0';
write(1, &nbl, 1);
}
}
}
int main(void)
{
ft_putnbr(45);
ft_putnbr(-45);
ft_putnbr(0);
ft_putnbr(-2147483648);
return (0);
}
*/
/*
// verion oceano
#include <unistd.h>
void ft_putnbr(int nb)
{
long nbl;
char c[10];
short i;
nbl = nb;
i = 0 ;
if (0 == nb)
{
write(1, "0", 1);
return ;
}
if (nbl < 0)
{
nbl *= (-1);
write(1, "-", 1);
}
while (nbl % 10)
{
c[i++] = (nbl % 10) + 48;
nbl /= 10;
}
while (i >= 0)
write(1, &c[--i], 1);
}
int main(void)
{
ft_putnbr(-42);
write(1, "\n", 1);
ft_putnbr(0);
write(1, "\n", 1);
ft_putnbr(42);
write(1, "\n", 1);
ft_putnbr(2147483647);
write(1, "\n", 1);
ft_putnbr(-2147483647);
write(1, "\n", 1);
}*/
To embed this project on your website, copy the following code and paste it into your website's HTML: