帮忙把C语言程序翻译成中文

#include<stdio.h>
f(int a)
{
auto b=0;
static c=3;
b=b+1;
c=c+1;
return(a+b+c);
}
int main()
{
int a=2,i;
for(i=0;i<3;i++)
printf("%3d",f(a));
return 0;
}

你好:
f(int a)//定义f函数,参数为a
{
auto b=0; 定义变量b,赋初值0,auto类型b值在离开函数后释放,进入函数时赋值
static c=3; 定义静态变量c,初值3,注意,static类型c变量的值只第一次被赋值,之后会保存变化后的值。
b=b+1;
c=c+1;
return(a+b+c);//返回a+b+c 可以看到,任何时候返回值b值都是0 + 1 = 1;而c值第一次等于3+1 = 4,每调用一次函数后C值+1,因此和函数调用次数相关。
}

int main()
{
int a=2,i;
for(i=0;i<3;i++)
printf("%3d",f(a)); //这里调用了3次f函数,a一直等于2,上面函数说明b一直等于1,c值第一次调用后为4,之后每调用一次+1;因此3次输出为7, 8, 9
return 0;
}
附参考说明:
C语言中提供了存储说明符auto、register、extern、static说明的四种存储类别。四种存储类别说明符有两种存储期:自动存储期和静态存储期。其中auto和register对应自动存储期。具有自动存储期的变量在进入声明该变量的程序块时被建立,它在该程序块活动时存在,退出该程序块时撤销。在函数内部定义的变量成为局部变量。
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网