N+=A++;的问题

#include <stdio.h>
int f(int n);
main()
{ int a=3,s;
s=f(a);s=s+f(a);printf(“%d\n”,s);
}
int f(int n)
{ static int a=1;
n+=a++;
return n;
} 程序运行以后的输出结果是

答案应该是9。第一f函数的a是静态局部变量,它与主函数的a没有关系。第二,f函数的a是静态存储的(static),所以第一次调用后,a的初值就变成了2。追问

求更加详细一点,n+=a++这个怎么理解返回N以后是不是就是F(a)的值了么?

温馨提示:答案为网友推荐,仅供参考