因为64位下INT_MAX其长度不超过20,故此处将字符串数组传递进函数。
int num2str(int num,char str[]) { char c; int i=0, j=0, k=0, tmp = num > 0 ? num : -1 * num; if (num > INT_MAX || num < INT_MIN) return -1; if (num<0) { str[i++] = '-'; ++j; num *= -1; //求余需要注意转换为正数,因为-1111%10==-1 } else if (0==num) { str[0] = '0'; str[1] = '