Bonjour, étant étudiant en informatique je réalise pour le moment quelques fonctions pour apprendre, mais une me dérange, je ne comprend pas son fonctionnement alors que j'ai réussi sans aucun problème put_nbr. Pour le code qui suit je me suis fais aider mais je n'aime pas passer à autre chose si je n'ai pas tout compris.
En premier temps : dans le premier while : diviseur = diviseur * t_base. Si on considère que notre chaîne contient 10 caractères et notre nombre par exemple 15, la boucle va se réaliser qu'une fois? Et si le nombre est inférieur a la taille de la chaîne 0 fois ?
Ensuite dans le 2 ème while : my_putchar(base[result]) tout simplement, pourquoi renvoyer la valeur dans le tableau ?
J'ai pas du comprendre le but de l'exercice je crois bien ><, voila merci en esperant que des personnes adeptes de cette fonction puisse m'éclairer ou même m'aiguiller si cela est faux.
Merci.
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 int my_putnbr_base(int nbr, char *base) { int diviseur; int result; int t_base; t_base = my_strlen(base); if (nbr < 0) { my_putchar('-'); nbr = -(nbr); } diviseur = 1; while ((nbr / diviseur) >= t_base) diviseur = diviseur * t_base; while (diviseur > 0) { result = (nbr / diviseur) % t_base; my_putchar(base[result]); diviseur = diviseur / t_base; } }
Partager