codingt 2021-10-31 10:27 采纳率: 100%
浏览 15
已结题

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沒有初始化

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

报告相同问题?

问题事件

  • 系统已结题 11月8日
  • 已采纳回答 10月31日
  • 创建了问题 10月31日