#include <limits.h>
#include <stdio.h>
#include <string.h>
#define N 48
char s[N];
void reverse(char s[]){
int i, j, n=strlen(s), tmp;
for (i=0, j=n-1; i<j; i++, j--)
tmp = s[i], s[i] = s[j], s[j] = tmp;
}
void itoa(int n, int base)
{
int i=0, sign;
char c;
if ((sign=n) < 0)
n = -n;
do {
switch((c=n%base)){
case 0: case 1: case 2: case 3: case 4:
case 5: case 6: case 7: case 8: case 9:
s[i++] = c + '0'; break;
case 10: case 11: case 12:
case 13: case 14: case 15:
s[i++] = c + 'a' - 10; break;
}
}while ((n/=base) > 0);
if (sign < 0) s[i++] = '-';
s[i] = '\0';
reverse(s);
printf("%s\n", s);
}
int main(){
itoa(INT_MIN, 3);
itoa(123, 16);
itoa(123, 10);
itoa(123, 8);
return 0;
}
int类型转字符类型,itoa的实现 (to 16 10 8)
猜你喜欢
转载自blog.csdn.net/yangjinjingbj/article/details/104056953
今日推荐
周排行