看看有哪位高手现在还能读懂这个程序!(任意进制化成十进制)

看看有谁现在还能读懂这个程序!(任意进制化成十进制)
[code=C/C++][/code]• #include<stdio.h>
• void fun(int n,int k);
• int main()
• {
• int n,k;
• scanf("%d%d",&n,&k);
• printf("(%d)10=(",n);
• fun(n,k);
• printf(")%d",k);
• putchar('\n');
• return 0;
• }

• void fun(int n,int k)
• { 
• char c;
• if(n/k)
• fun(n/k,k);
• c=(n%k)["0123456789ABCDEF"];
• putchar(c);


------解决方案--------------------
说错了。
应该是 10进制转换为k进制,k=[2,16].
------解决方案--------------------
c=(n%k)["0123456789ABCDEF"];
lz估计是不知道这行是什么。

这个相当于一个数组"0123456789ABCDEF",然后取n%k处的元素
------解决方案--------------------
只有懂进制转换原理,就很容易看懂,楼主你的fun()函数还少一句输出语句吧
C/C++ code

#include<stdio.h>
void fun(int n,int k);
int main()
{
    int n,k;
    scanf("%d%d",&n,&k);
    printf("(%d)10=(",n);
    fun(n,k);
    printf(")%d",k);
    putchar('\n');
    return 0;
}

void fun(int n,int k)
{  
    char c;
    if(n/k)
        fun(n/k,k);
    c=(n%k);
    printf("%d", c);  //输出
    
}

------解决方案--------------------
探讨
c=(n%k)["0123456789ABCDEF"];
lz估计是不知道这行是什么。

这个相当于一个数组"0123456789ABCDEF",然后取n%k处的元素