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

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,堆栈没有处理好吧

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器