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; for (int i = 0; i < len; i++) { *(chars+i) = alph[NumberAt(num, i)]; } return chars; }