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的值;
 -     
 - }
 
  复制代码 输出结果为: 
 
 
 
 |   
 
 
 
 |