
正文
c语言递归函数调用 c语言中的函数递归调用
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
利用递归函数调用方式,将所输入的字符,以相反顺序打印出来 c语言
#includestdio.h
void reverse (char a[]);
void main()
{
char a[50];
gets(a);
reverse(a);
}
void reverse (char a[])
{int i=0;
if(a[i]!='\0')
{
reverse(a[i+1]);
printf("%c",a[i]);///////////就把这改一下就像楼上说的
}
else return;
}
相关问答
Q1: 求告诉C语言函数调用跟递归调用方法
一般来说是自己调用自己,一般有两个分支,一个分支是调用自己,还有一个分支是结束条件
如求n!
int f(int n)
{
if(n==1) //这个是结束条件
return 1;
else //这个是调用自己的分支
return n*f(n-1);
}
还有一个比较复杂一点,是双向调用,也就是a函数调用b函数,b函数在调用a函数
这样循环调用,其实基于这个道理,还有多个函数互相调用,不过这样的情况很少见
但万变不离其宗,每个函数都有两个分支,一个是结束条件,一个是调用函数
Q2: c语言中,什么是函数的递归,能举个例子么
所谓递归,说的简单点,就是函数自己调用自己,然后在某个特定条件下。结束这种自我调用。
如果不给予这个结束条件,就成了无限死循环了。这样这个递归也就毫无意义了。
如下面问题
1 1 2 3 5 8 13 21 ........n
分析可以看出, i 表示第几个数, n 表示该数的值
当i = 1 时, n = 1;
当i = 2 时, n = 1;
当i = 3 时 n = i1 + i2;
当i = 4 时 n = i2 + i3
所以可以写个函数
int fun(int n) // 这里的n代表第几个数
{
if(1 == n || 2 == n) // 第一个数
{
return 1;
}
else
{
return fun(n - 1) + fun(n - 2); // 这里就是自己调用自己,形成循环自我调用。
}
}
注: 以上代码只是用来演示递归,不包含错误校验。
在实际生产过程中。该代码不够健壮。
如此,就完成了递归。你就可以求得第n个数了。
何时考虑使用递归。
当你分析一个问题的时候,发现这个问题,是一个自我循环时,而且这个自我循环到一个给定值,就可以终止的时候,你就快要考虑递归了。
关于c语言递归函数调用和c语言中的函数递归调用的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







