如果输入合法,就是转换的十进制数是非负整数,base进制是大于等于2的正整数,然后malloc函数成功什么的之后,哦,还有用完那个字符数组还要free一下。细节细节,先不管吧,要用的话再补充。返回的char数组中存的base进制的数是倒序的要注意一下,和高精度一致,嗯,也许倒着有点用。。?
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
//The string returned is in reversal order.
char* int2n(int figure, int base){
char code[37] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char* res = (char* )malloc(100 * sizeof(char));
memset(res, 0, 100 * sizeof(char));
int len = 0;
while(figure >= base)
{
res[len++] = code[figure % base];
figure /= base;
}
if(figure != 0)res[len++] = code[figure];
else res[len++] = code[0];
return res;
}