小小递归函数的执行过程
下面程序的功能是用递归法将一个整数存入到一个字符数组中。存放时按逆顺序存放。如483存放成384
程序本身并不难,把它拿出来也就是帮助理解递归的实现过程。
#include "stdio.h"
void convert (char *a,int n)
{
int i;
if((i=n/10) !=0)
convert(a+1,i); //或者更改为convert((a++,a--),i);
*a= n%10+'0';
printf("%c\n",*a);
}
void main()
{
int number;
char str[10]=" ";
scanf("%d",&number);
convert(str,number);
puts(str);
}
void convert (char *a,int n)
{
int i;
if((i=n/10) !=0)
convert(a+1,i); //或者更改为convert((a++,a--),i);
*a= n%10+'0';
printf("%c\n",*a);
}
void main()
{
int number;
char str[10]=" ";
scanf("%d",&number);
convert(str,number);
puts(str);
}
运行结果:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步