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

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

  • 相关阅读:
    vue2.0子组件修改父组件props数据的值
    Visual Studio串口通信与测控应用编程实践
    电梯安装与调试技术
    拾年
    人文生态视野下的城市景观形态研究
    生物真让人惊奇
    神奇生理科学美图大观
    藏在文物里的中国史2 夏商周
    思科UCS服务器统一计算
    Google改变生活
  • 原文地址:https://www.cnblogs.com/kuangzhisen/p/6863407.html
Copyright © 2011-2022 走看看