{ int f(int); int a=2,i; for(i=0;i<3;i++)
printf(“%d\\n”,f(a)); return 0; }
int f(int a)
{ auto int b=0; static c=3; b=b+1; c=c+1;
return(a+b+c); } 0 3 b c
第一次调用开始
例7.16 考察静态局部变量的值。 #include
{ int f(int); int a=2,i; for(i=0;i<3;i++)
printf(“%d\\n”,f(a)); return 0; }
int f(int a)
{ auto int b=0; static c=3; b=b+1; c=c+1;
return(a+b+c); } 0 3 b c
第一次调用期间 1 4
例7.16 考察静态局部变量的值。 #include
{ int f(int); int a=2,i; for(i=0;i<3;i++)
printf(“%d\\n”,f(a)); return 0; }
int f(int a)
{ auto int b=0; static c=3; b=b+1; c=c+1;
return(a+b+c); } b c
第一次调用结束 1 4 7
例7.16 考察静态局部变量的值。 #include
{ int f(int); int a=2,i; for(i=0;i<3;i++)
printf(“%d\\n”,f(a)); return 0; }
int f(int a)
{ auto int b=0; static c=3; b=b+1; c=c+1;
return(a+b+c); } b c
第二次调用开始 0 4
例7.16 考察静态局部变量的值。 #include
{ int f(int);
int a=2,i; for(i=0;i<3;i++)
printf(“%d\\n”,f(a)); return 0; }
int f(int a)
{ auto int b=0; static c=3; b=b+1; c=c+1;
return(a+b+c); } b c
第二次调用期间 0 4 5 1
例7.16 考察静态局部变量的值。 #include
{ int f(int); int a=2,i; for(i=0;i<3;i++)
printf(“%d\\n”,f(a)); return 0; }
int f(int a)
{ auto int b=0; static c=3; b=b+1; c=c+1;
return(a+b+c); } b c
第二次调用结束 1 5 8
例7.16 考察静态局部变量的值。 #include
{ int f(int); int a=2,i; for(i=0;i<3;i++)
printf(“%d\\n”,f(a)); return 0; }
int f(int a)
{ auto int b=0; static c=3; b=b+1; c=c+1;
return(a+b+c); } b c
第三次调用开始 0 5
例7.16 考察静态局部变量的值。 #include
{ int f(int); int a=2,i; for(i=0;i<3;i++)
printf(“%d\\n”,f(a)); return 0; }
int f(int a)
{ auto int b=0; static c=3; b=b+1; c=c+1;
return(a+b+c); } b c
第三次调用期间 0 5 6 1
例7.16 考察静态局部变量的值。 #include
{ int f(int); int a=2,i; for(i=0;i<3;i++)
printf(“%d\\n”,f(a)); return 0; }
int f(int a)
{ auto int b=0; static c=3; b=b+1; c=c+1;
return(a+b+c); } b c
第三次调用结束 1 6 9
例7.16 考察静态局部变量的值。 #include
{ int f(int); int a=2,i; for(i=0;i<3;i++)
printf(“%d\\n”,f(a)); return 0; }
int f(int a)
{ auto int b=0; static c=3; b=b+1; c=c+1;
return(a+b+c); } c
整个程序结束 6
例7.16 考察静态局部变量的值。 #include
{ int f(int); int a=2,i; for(i=0;i<3;i++)