早教吧 育儿知识 作业答案 考试题库 百科 知识分享

请各位大侠帮我看看这个求进制数的函数的运行顺序!希望将原理详细说出!voidzhuanhuan(char*s,intn,intb){\x05charbit[]={"123456789ABCDEF"};\x05intlen;\x05if(n==0)\x05{\x05\x05strcpy(s,"");\x05\x05return;\x05}\x05zhuanh

题目详情
请各位大侠帮我看看这个求进制数的函数的运行顺序!希望将原理详细说出!
void zhuanhuan(char *s,int n,int b)
{
\x05char bit[]={"123456789ABCDEF"};
\x05int len;
\x05if(n==0)
\x05{
\x05\x05strcpy(s," ");
\x05\x05return;
\x05}
\x05zhuanhuan(s,n/b,b);
\x05len=strlen(s);
\x05s[len]=bit[n%b];
\x05s[len+1]='\0';
}
▼优质解答
答案和解析
关于进制转换,其主要的函数之一就是把10进制数转换成其它进制数的itob().
我写的itob()是这样的,
void itob(int n,int b,char s[])
{
int i,j;
for (i = 0; n != 0; ++i) {
j = n % b;
if (j > 9)
s[i] = j + 'A' - 10;
else
s[i] = j + '0';
n /= b;
}
/* reverses s[] */ /* k&r Exercise 1-19 */
for (j = 0; j