codingt
2021-10-31 10:27
采纳率: 100%
浏览 11

C语言递归函数进制转换得不到结果

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void exchange(int x,int y);
int main()
{int x,y;
do
{
printf("请输入:");
scanf("%d%d",&x,&y);
}while(x<=0||y<2||y>16);
printf("结果是:");
exchange(x,y);
printf("\n");
return 0;
}
void exchange(int x,int y)
{int m;
if(m)
{exchange(x/y,y);
m=x%y;
if(m<10)
{
printf("%d",m);
}
else{
printf("%c",m+55);
}
}

}

为什么我输入175 16总是得到下面这个呢?(就是没结果)
请输入:175 16
结果是:


Process exited after 4.055 seconds with return value 0
请按任意键继续. . .

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

  • Fighting Horse 2021-10-31 10:31
    最佳回答

    m沒有初始化

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题