c语言中静态变量是怎么用的

如题所述

#include"stdio.h"
void
main()
{
int
f(int);
int
a=2,i;
for(i=0;i<3;i++)
printf("%d
",f(a));
}
int
f(int
a)
{
auto
int
b=0;
//aubo为自动变量的标志,则b为自动变量
static
int
c=3;//static
为静态局部变量的标志,则c为静态局部变量
b=b+1;
//b为自动变量,则b一直等于1
c=c+1;
//c为静态局部变量,则c随着for循环分别为4,5,6
return(a+b+c);
}
所以运行的结果为:7,8,9
注:静态局部变量(静态变量)是在编译时赋初值的,即值赋初值一次,在程序运行时它已有初值,以后每次调用函数式不在重复赋初值而只在保留商城函数调用结束时的值。
温馨提示:答案为网友推荐,仅供参考
相似回答