C语言中递归法把整数换成字符

来源:百度知道 编辑:UC知道 时间:2024/06/05 18:55:17
书上有个函数,但不是主函数
void tranvers(int n)
{
if(n/10!=0)
tranvers(n/10);
printf("%c",n%10+'0'0;
}
接下来就是主函数了。
我的问题是前面那个函数没有用While 只用了if怎么就能递归了。

递归就一定要用循环吗,这里你误解了。
递归需要的是一个递归方式(你这题是n/10)和递归终结条件(if(n/10!=0))

有这两个就足够了,并不一定需要循环。

就是,这里函数又调用了函数自己,这就是递归,是不需要WHILE循环的。

递归常用的是IF,而不是WHILE;

没错呀,你用的递归又不是循环呵

tranvers(n/10);
自己调用自己就是递归

不需要while的
这个要用到中断,然后保存当前运行环境
然后再次调用tranvers()这个函数,这个函数运行完后就返回刚才保存的运行环境,继续向下运行.