关于变量的一个小问题

来源:5-11 变量存储类别

qq_吖_2

2018-07-26 18:11

就是自动储存变量什么时候用和他在程序作用的什么

还有寄存变量    (这个我就知道储存在cpu里面)

拜托!!!!!!!!!!!!!!

写回答 关注

4回答

  • 慕九州5552665
    2018-07-27 12:52:19
    已采纳

    自动(auto)、静态(static)、寄存器的(register)和外部的(extern)。

    auto 是自动变量是动态地分配存储空间的,数据在动态存储区,函数执行完后自动释放
    实际上 auto 可以省略的,auto不写则隐含自动变量
    
    auto Int b,c=int b,c
    
    static是静态变量 即在函数调用后不消失而保留原值,其占用内存不释放,其值就是上次调用后的结果。
    #include<stdio.h>
     int fac(int n);
    void main()
     { int i;
    for(i=0;i<=5;i++)
         printf("%d!=%d\n",i,fac(i));
     }
    int fac(int n)
      {static int f=1;
       f=f*n;
    return(f);
      }
    
    结果为1!=1
          2!=2
          3!=6
          4!=24
          5!=120
    要输5次


    qq_吖_2

    非常感谢!

    2018-07-27 13:27:28

    共 1 条回复 >

  • weixin_慕无忌1005873
    2018-12-11 16:29:45

    第五行i应该等于1,不然运行出来全等于0

  • 慕盖茨5148416
    2018-11-27 14:42:37

    感谢!

  • 慕九州5552665
    2018-07-29 13:35:54

    不用谢。

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926243 学习 · 20798 问题

查看课程

相似问题