帮忙看一个进制转换程序
//把一个十进制整数化成n进制数(用递归的方法)void f(int i,int n);
#include<stdio.h>
int main()
{
int i,n;
printf("请输入一个int型的十进制整数:");
scanf("%d",&i);
printf("请输入要转换的进制:");
scanf("%d",&n);
printf("\n该数的二进制数为:");
f(i,n);
printf("\n");
return 0 ;
}
//递归函数
void f(int i,int n)
{ char bit[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
int p;
if(n==0)
return ;
f(i/n,n);
p=i%n;
printf("%c",bit[p]);
}
我在linux运行,结果总是段错误,是不是递归调用太多,栈溢出了?