Big Mage
2021-03-12 11:09
采纳率: 50%
浏览 37

C语言10进制进行任意进制的转换

小白一枚,自己写的代码却没有运行下去,直接输出十进制的结果,没有进行转换
 

#include<stdio.h>
#include<math.h>
int fun1(int n, int c)
{
    if (c < n)
        return c;
    int i;
    for (i = 1;; i++)
    {
        int a;
        a = pow(n, i);
        if (a > c)
            break;
    }
    c = c - pow(n, i - 1);
    return pow(n, i - 1) + fun1(n, c);
}
int main()
{
    int a, b, n;
    int c;
    scanf_s("%d%d", &a, &b);
    c = a + b;
    scanf_s("%d", &n);
    printf("%d", fun1(n, c));
    return 0;
}
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • 粉墨小克 2021-03-12 17:51
    已采纳

    会不会进入死循环了,你在fun1里面又调了fun1,堆栈没有处理好吧

    点赞 打赏 评论

相关推荐 更多相似问题