函数的递归调用实例
来源:互联网 发布:正交矩阵的性质 编辑:程序博客网 时间:2024/05/22 12:52
实例:
#include <stdio.h>
void main()
{
float fac(int n);
int n;
float y;
printf("input an integer number :");
scanf("%d",&n);
y = fac(n);
printf("%d!=%10.0f\n",n,y);
}
float fac(int n)
{
float f;
if( n < 0 )
{
printf("n<0,error!");
}
else if(n==0||n==1)
{
f=1;
}
else
f = fac(n-1) * n; //在fac函数再次调用fac,相当于循环,当程序执行到这一步的时候,调用函数计算fac(n-1),又将重新执行一次函数定义的语句
return f; //此处是直接给float fac(int n)函数返回一个值,而不是再次调用函数
}
c语言中一般函数的递归调用是不常用的,是比较低级的算法,但有些问题用递归法简单,读者可以去查一查,hanoi塔问题。
说明:
此程序中应注意函数后面的定义部分有注释的那两行,为之重要,不理解可以在下评论
0 0
- 函数的递归调用实例
- 递归调用实例分析2.在函数中间的递归与在函数尾部的递归
- C语言函数的递归和调用实例分析
- 函数的递归调用
- 函数的递归调用
- 函数的递归调用
- 函数的递归调用
- 函数的递归调用
- 函数的递归调用
- 函数的递归调用
- 函数的递归调用
- 递归调用的实例讲解
- 函数递归的简单实例
- 9.8 函数的递归调用
- 函数的递归和调用
- 递归函数调用的代价
- C++函数的递归调用
- 030 函数的递归调用
- unity使用Zxing的.net库搞二维码与条形码的事
- Django使用Mysql数据库已经存在的数据表
- 第一天的改变
- 网络编程细节总结
- iOS 开发一些常用插件和第三方库的整理
- 函数的递归调用实例
- unit2.7访问网络文件共享服务
- 指针用法---常有问题
- 直播 obs
- JavaScript中的call、apply、bind方法
- DB2获取上月底,上年底,上季度底
- jzoj 5050 颜色树
- 20170503 大西北的山
- 最短路径算法 模板_Dijkstra_Bellman.ford_Floyd_spfa