C语言基础:递归函数,全局(局)变量
2024-09-07 01:04:12
#include <stdio.h>
int factorial(int a);
int Fibonacci(a);
long Hanoi(a);
void main()
{
}
函数递归调用:函数本身调用自身。类似于循环。
注意:编写递归程序类似于循环语句需要注意条件,函数调用到什么时候为止,否则会出现死循环。
1.利用递归实现阶乘
int factorial(int a)
{
if(a==1)
{
return 1;
}
else
{
return a*factorial(a-1);//递归调用
}
}
2.斐波那契数列,古典兔子问题。
int Fibonacci(a)
{
if(a==1||a==2)
{
return 1;
}
else
{
return Fibonacci(a-1)+Fibonacci(a-2);
}
}
3.汉诺塔 DIY 根据层数计算多少次
long Hanoi(a)
{
if(a==1)
{
return 1;
}
else
{
return 2*Hanoi(a-1)+1; //H(n) = 2*H(n-1)+1 (n>1)
}
}
4.局部变量:A.作用范围仅限于该函数内;
B.不同函数可以声明相同的名称;
C.复合函数中只在当前的{}内有效。
5.全局变量:A.声明在所有函数之外;
B.可以共同使用;
C.全局变量和局部变量,在局部变量的作用范围内,同名的全局变量不起作用。
//形式参数是局部变量,只在该函数内有效。 注意:在设定的时候必须给类型
最新文章
- git format-patch &; git apply &; git clean
- Maven学习总结(一)——Maven入门——转载
- 重载赋值运算符 &;&; 对象
- dedecms升级后报错
- uva 437,巴比伦塔
- javascript中onclick事件能调用多个方法吗
- 小白日记47:kali渗透测试之Web渗透-XSS(一)
- 3.Spring-用反射模拟IoC
- c# 使用ChartDirector绘图的一些个人体会
- Vim 快捷键整理
- js中的潜伏者之Arguments对象
- [站点部署_01]wordpress建站网页响应速度慢
- 关于C++中虚函数表存放位置的思考
- html 上传文件
- Nginx 开启gzip压缩(图片,文件,css)
- Python 的第一个小程序
- 吴恩达Machine Learning 第一周课堂笔记
- spark streaming 整合 kafka(一)
- 浅析JAVA中堆内存与栈内存的区别
- APICloud 真机连接失败