Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #define SIZE_BUFFER 11 // = arrondi_supérieur( log10 (2^31) ) + 1, par définition un int ne peut pas être plus grand.
- /*
- // Version itérative
- void numToArray(int num, int* buffer)
- {
- int pos=0;
- while(num > 0)
- {
- buffer[pos] = num % 10;
- num /= 10;
- pos++;
- }
- buffer[pos] = -1; // caractère d'arrêt
- }
- // */
- //*
- // Version récursive
- void numToArray(int num, int* buffer)
- {
- if(num <= 0)
- {
- buffer[0] = -1;
- return;
- }
- buffer[0] = num % 10;
- numToArray(num/10, buffer+1);
- }
- // */
- // Main basique : input un nombre, appelle la fonction et affiche le tableau pour check.
- int main(void)
- {
- int input;
- scanf("%d", &input);
- int buffer[SIZE_BUFFER];
- numToArray(input,buffer);
- int pos=0;
- for(pos=0; pos<SIZE_BUFFER; pos++)
- printf("%d ", buffer[pos]);
- printf("\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement