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

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

  • 相关阅读:
    centos crash debug
    go get Unknown SSL protocol error in connection to gopkg.in
    Tensorflow serving with Kubernetes
    Spring 集成 Swagger UI
    Docker Registry V2 Garbage Collection
    Docker Registry V2 with Nginx
    Zabbix磁盘性能监控
    Zabbix CPU utilization监控参数
    Windows挂载Gluster复制卷
    Redis持久化存储(三)
  • 原文地址:https://www.cnblogs.com/kuangzhisen/p/6863407.html
Copyright © 2011-2022 走看看