int NumberAt(long num, int unit) {
    while (unit-- > 0) num /= 10;
    return num % 10;
}

int NumberLength(long num) {
    int len = 1, sum = 10;
    while (num >= sum) {
        sum *= 10;
        len++;
    }
    return len;
}

char* numToChar(long num) {
    int len = NumberLength(num), flag = 1;
    if (num < 0) {
        num *= -1;
        flag = 0;
    }

    char* chars = (char*)malloc(len);
    char alph[10] = { '0','1','2','3','4','5','6','7','8','9' };
    if (chars == NULL)return NULL;

    for (int i = 0; i < len; i++)
    {
        *(chars + i) = alph[NumberAt(num, len - i)];
    }

    return chars;
}

int main() {
    long num = 1234567890;

    char* chars = numToChar(num);

    for (int i = 0; i < 10; i++)
    {
        printf("%c", chars[i]);
    }

    return 0;
}

 

 posted on 2023-09-21 14:35  laremehpe  阅读(197)  评论(0编辑  收藏  举报