递归是什么意思
就是在编程的时候,遇到递归请问一下递归是什么意思呢 递归说白了就是函数自己调用自己,举个最简单的例子
void test()
{
printf("我要调用自己了\n");
test();
}
比如像上面这样就是一个递归,当你在main函数中调用test函数时,函数会一直无限调用自己;
所以要注意编写递归程序时,一定要正确设置好结束条件,要不然就会无限循环下去 我递给你一本书,你然后又还给我;
我再递给你一本书,你然后又还给我;
递给你一本书,你然后又还给我;
递给你一本书,你然后又还给我;
递给你一本书,你然后又还给我;
递给你一本书,你然后又还给我;
最终书还是要回到你手上,就是这个意思。 本帖最后由 狂风乱吼 于 2019-6-2 23:34 编辑
ba21 发表于 2019-6-2 23:12
我递给你一本书,你然后又还给我;
我再递给你一本书,你然后又还给我;
递给你一本书,你然后又还给我; ...
说白了,就是循环是吧。跟循环有什么区别呢 狂风乱吼 发表于 2019-6-2 23:33
说白了,就是循环是吧。跟循环有什么区别呢
你这问题很难说清楚的,建议自己百度一下,可以理解为递归某些情况下是循环的一种 #include <stdio.h>
int fact(int n)
{
int f = 1;
if (n >= 1)
{
f = n * fact(n-1);//递归求阶乘
}
else
{
f = 1;
}
return f;
}
int main(int argc, char const *argv[])
{
int n = 1, m = 0;
printf("请输入要计算的值\n");
scanf("%d", &n);
printf("%d的阶乘是:%lld\n", n, (long)fact(n));
}
--------------------------------------------------
请输入要计算的值
99
99的阶乘是:18046469030281216
E:\Administrator\Documents\My C>
数据判断不严谨,仅仅是给你举个例子 狂风乱吼 发表于 2019-6-2 23:33
说白了,就是循环是吧。跟循环有什么区别呢
找个简单的例子,自己走下流程自然明白 我叫MD 发表于 2019-6-3 00:09
你这问题很难说清楚的,建议自己百度一下,可以理解为递归某些情况下是循环的一种
好,还是大神厉害
狂风乱吼 发表于 2019-6-4 11:15
好,还是大神厉害
给个支持,采纳一下呗
页:
[1]