TA的每日心情 | 汗 2024-10-15 10:05 |
---|
签到天数: 372 天 [LV.9]以坛为家II
|
源文件:- /*
- 1、在局部变量中,static第一个作用初始化为0;
- 2、第二个作用保持局部变量b的持久不被释放,变量被存储在静态区;
- */
- #include <stdio.h>
- void test(); // 函数声明;
- int main() {
- test(); //a=1,b=1
- test(); //a=1,b=2
- test(); //a=1,b=3
- // 重复调用函数三次;
-
- // b = 10; // 此处不能调用b,局部变量有局部变量的特性,static也改变不了这一点;
-
- return 0;
- }
- void test() {
- int a = 0; // 定义一个局部变量a,如果不初始化为0,变量值随机;
-
- static int b; // 定义一个static局部变量a,系统自动初始化为0,并保持变量直到程序结束才被释放;
-
- a++; // a自加;
-
- b++; // b自加;
-
- printf("a=%d, b=%d\n", a, b); // 输出a、b的值;
-
- }
复制代码 输出结果为:
|
|