int f() { static int i=0; int s=1; s+=i; i++; return s; } main() { int i,a=0; for(i=0;i<5;i++) a+=f

求整个运行的详解 谢谢了
2024-12-02 19:53:23
推荐回答(1个)
回答1:

int f()
{
static int i=0; //定义静态局部变量,只被初始化一次,保存在常量区直到程序结束才销毁。 且只在函数内有效 所以从第一次调用f()之后每次调用f() ,i都是上次函数退出的值
nt s=1;
s+=i; //s=s+i;
i++;
return s;
}
main()
{
int i,a=0; //定义接收的累加变量 a
for(i=0;i<5;i++) //该i为主函数内的i在循环里面起控制循环用 通过i++从0到5 到5 退出
{
a+=f(); //a不停的接收f()的返回值并累加 a=a+f();
}
}