Bonjour, dans le cadre de mes études, je suis amené à créer ce petit programme qui, à partir d'un int, affiche un char. En révisant, je me suis apercue que mon programme était DÉGUELASSE, je l'ai donc refait, en passant par la récursive. Youpi, le programme ne tient plus qu'en une seule fonction et quelques lignes. Seulement, voilà le problème, le programme a une faille : lorsque je lui envoie -2 147 483 648, ce foutu prog me donne le résultat avec deux - : --2147483648.
Une petite aide serait la bienvenue mais sans me donner la réponse s'il vous plaît ^^
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 void putchar(char c) { write(1, &c, 1); } void put_nbr(int nb) { int nbr; if (nb > 0) nb = -nb; else putchar('-'); nbr = nb % 10; putchar('n'); if (nb < -9) put_nbr(-nb / 10); putchar(-nbr + 48); } int main() { put_nbr(-2147483648); putchar('\n'); }
En tout cas très beau travail de la part de vous tous et j'espère que j'aurais bientôt le niveau pour participer![]()
Partager