Probleme fonction putnbr()
Bonsoir,
Je me heurte à un problème d'overflow, j'essaye d'écrire la fonction putnbr dont le but est d'écrire un nombre...
Ce que j'ai écris fonctionne mais lorsque je lui donne par exemple : -2147483648 le programme m'affiche -0 au lieu de -2147483648...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| void my_putnbr(int n)
{
if (n < 0)
{
my_putchar('-');
n = -n;
}
if (n > 9)
{
my_putnbr(n / 10);
my_putnbr(n % 10);
}
else
my_putchar(n + '0');
} |
Qu'en pensez-vous ?
De plus, ma question ce généralise, lorsque j'ai affaire à un overflow dans un programme, qu'elle est l'état d'esprit a avoir pour y remédier ?
Merci.