思路:先确定要申请多少个字节的内存,再对字符串赋值
char numtohex(int num){
if (num<10){
return '0'+ num;
}else{
return 'a' + num - 10;
}
}
char * toHex(int num){
unsigned int temp = (unsigned int)num;
char hex = 0;
int len = 0;
do{
temp/=16;
len++;
}while(temp);
temp = (unsigned int)num;
char* s = (char*) malloc((len+1)*sizeof(char));
s[len] = '\0';
do{
hex = numtohex(temp%16);
temp/=16;
s[--len] = hex;
}while(temp);
return s;
}