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 : Sélectionner tout - Visualiser dans une fenêtre à part
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:
donnera:
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 #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; }
Mais:1 2 0 0 0 5
donnera:
Code : Sélectionner tout - Visualiser dans une fenêtre à part printf("%d ", get(12034, 2));
D'où peut venir le problème?1
Je ne comprends vraiment pas :/
Partager