obtenir le n-ième élément d'un nombre!
Bonjour!
Je suis confronté à un problème relativement idiot, mais je ne comprends pas pourquoi ca ne fonctionne pas!
Je cherche à obtenir un certain élément d'un nombre. Par exemple, je cherche à obtenir le 3ème élément de 3215, et j'obtiendrai 2.
J'ai écrit la fonction suivante:
Code:
1 2 3 4
| int get(int number, int element)
{
return (number / ((int) pow(10,element))) % 10;
} |
Elle fonctionne parfaitement, sauf dans certains cas où elle bug complétement, sans que je sache pourquoi.
Par exemple:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| #include <stdio.h>
#include <stdlib.h>
#include <math.h>
int get(int number, int element)
{
return (number / ((int) pow(10,element))) % 10;
}
int main(void)
{
printf("%d ", get(3125, 2));
printf("%d ", get(3125, 1));
printf("%d ", get(3125, 4));
printf("%d ", get(0, 0));
printf("%d ", get(3005, 2));
printf("%d ", get(3005, 0));
return 0;
} |
donnera:
Mais:
Code:
printf("%d ", get(12034, 2));
donnera:
D'où peut venir le problème?
Je ne comprends vraiment pas :/