zoukankan      html  css  js  c++  java
  • C语言基础:递归函数,全局(局)变量

    #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.全局变量和局部变量,在局部变量的作用范围内,同名的全局变量不起作用。

    //形式参数是局部变量,只在该函数内有效。         注意:在设定的时候必须给类型

  • 相关阅读:
    PHP删除文件
    PHP定时执行任务
    PHP设置30秒内对页面的访问次数
    PHP抓取网页内容的几种方法
    QQ,新浪,SNS等公众平台的登录及api操作
    php,javascript设置和读取cookie
    php验证邮箱,手机号是否正确
    php自定义加密和解密
    Linux下安装启动多个Mysql
    linux-gcc 编译时头文件和库文件搜索路径
  • 原文地址:https://www.cnblogs.com/kuangzhisen/p/6863407.html
Copyright © 2011-2022 走看看