例8.17.txt

来自「C语言程序设计的第二版源码」· 文本 代码 · 共 19 行

TXT
19
字号
  例8.17考察静态局部变量的值。

f(int a)
      {auto b=0;
        static c=3;
        b=b+1;
        c=c+1;
 return(a+b+c);
      main()
     {int a=2,i;
      for(i=0;i<3;i++)
      printf("%d ",f(a));
      }
  运行结果为:
789

在第1次调用f函数时,b的初值为0,c的初值为3,第1次调用结束时,b=1,c=4,a+b+c=7。由于c是静态局部变量,在函数调用结束后,它并不释放,仍保留c=4。在第2次调用f函数时,b的初值为0,而c的初值为4(上次调用结束时的值)。

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?