一道C语言题目,可以帮忙解释一下解题过程吗

我算来算去都是6啊,可是答案是7。说在程序执行时,static变量仅初始化一次,保留上一次的值。

下列程序执行后输出的结果是( )

f(int a)
{ static c=0;
c=a+c++;
return(c);
}
main()
{ int a=2,i,k;
for(i=0;i<2:i++)
k=f(a++);
printf("%d\n",k);
}

第1个回答  2007-06-29
我怎么算 得8呢?
哈哈!!···················

看来西方惨败答对了
想你学习!
第2个回答  2007-06-29
主要问题出在两个++上,因为有两次循环,第一次计算后C=3,第二次计算时a加一变为3,经过c=a+c++后结果就为7了,因为C再次加一
第3个回答  2007-06-29
就是6
++(--)后缀等价于在执行问该语句后,变量自增1
第4个回答  2007-06-29
我算了半天 不清楚哦
相似回答