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

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

  • 相关阅读:
    使用docker部署Asp.net core web应用程序
    Docker 常用命令参考
    CentOS 系列安装 Docker
    在IIS上部署你的ASP.NET Core项目
    【POJ1742】Coins
    【CH5105】Cookies
    【NOIP2008】传纸条
    【CH5102】Mobile Service
    【CH1401】兔子与兔子
    【CH5101】LCIS
  • 原文地址:https://www.cnblogs.com/kuangzhisen/p/6863407.html
Copyright © 2011-2022 走看看