static 到底是干什么用的啊

解决方案 »

  1.   

    static 是静态变量标示符.他定义的变量始终在程序的内存数据段里.
      

  2.   

    wgku(云霄) 的答案是正确的,是考的作用域的问题.
      

  3.   

    static 是表示变量保持上一次的值不变
      

  4.   

    5
    7
    9
    是对的。因为,每次fac的 c 变量都被保存int fac(int a)
    {
    int b=0;
    static int c=3;  
    b++;c++;
     /*
    三次执行,结果分别是:
    a=0 b=1 c=4
    a=1 b=1 c=5
    a=2 b=1 c=6其中a是局部变量,以参数为准
    每次执行的时候,因为b是普通变量,所以每次都重新计算,都是1
    c是static类型,数字被保存,每次都增加
    */
    return a+b+c; 
    }
    main()
    {
    int a=3,j;
    for(j=0;j<3;j++) printf("%d\n",fac(j));
    }
      

  5.   

    没错,是
    5
    7
    9
    static 的作用是将变量定义为静态的,即变量c的值不会因为重新调用该函数而被初始化为3,他始终保持上一次计算后的结果,三次计算中c的值分别为4、5、6。
      

  6.   

    int fac(int a)
    /*这里a被重新定义了,按调用fac(j)中的j的数值为准*/
    {
    int b=0;
    static int c=3;  
    b++;c++;
     /*
    三次执行,结果分别是:
    a=0 b=1 c=4
    a=1 b=1 c=5
    a=2 b=1 c=6其中a是局部变量,以参数为准
    每次执行的时候,因为b是普通变量,所以每次都重新计算,都是1
    c是static类型,数字被保存,每次都增加
    */
    return a+b+c; 
    }
    main()
    {
    int a=3,j;
    for(j=0;j<3;j++) printf("%d\n",fac(j));
    }