#include<stdio.h>
#include<stdlib.h>
void fun()
{
    int a = 12;//局部变量
    static int b = 22;//静态局部变量
    a++;
    b++;
    printf(“a:%d,b:%d\n”,a,b);
}
int main(void)
{
    fun();
    fun();
    fun();
    system(“pause”);
    return 0;
}

可以看到三次调用函数的结果的区别;

这说明:

静态局部变量作用域在整个程序;static int a定义的静态局部变量,在程序加载期,就执行了,程序运行起来时,这个就无效了;每次都在原来的基础上修改;

局部变量的作用域只在对应的块中;局部变量只能存在与对应的块中,块执行结束就会无效;每次都在定义的基础上修改;


版权声明:本文为qq_52119661原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_52119661/article/details/125425082