How to convert int number into an array of characters in C

2 Answers

0 votes
#include <math.h>
#include <stdio.h>
#include <stdlib.h>

char* convertNumberToArray(unsigned int number) {
    const size_t length = (int)(log10(number)) + 1;
    
    char* arr = (char*)calloc(length + 1, sizeof(char));
    char* p = arr;

    do {
        *p++ = (number % 10) + '0';
        number /= 10;
    } while (number != 0);

    return arr;
}

int main() {
    unsigned int num = 847;

    char* p = convertNumberToArray(num);

    puts(p);

    free(p);

    return 0;
}




/*
run:

748

*/

 



answered Aug 5, 2023 by avibootz
0 votes
#include <math.h>
#include <stdio.h>
#include <stdlib.h>

char* convertNumberToArray(unsigned int number) {
    const size_t length = (int)(log10(number)) + 1;
    
    char* arr = (char*)calloc(length + 1, sizeof(char));
    char* p = arr;

    do {
        *p++ = (number % 10) + '0';
        number /= 10;
    } while (number != 0);

    return arr;
}

int main() {
    unsigned int num = 847;

    char* p = convertNumberToArray(num);

    strrev(p);

    puts(p);

    free(p);

    return 0;
}




/*
run:

847

*/

 



answered Aug 5, 2023 by avibootz

Related questions

2 answers 273 views
3 answers 312 views
1 answer 166 views
2 answers 122 views
1 answer 144 views
144 views asked Jun 28, 2024 by avibootz
1 answer 244 views
2 answers 142 views
...