求解析,越快越好,谢谢

 我来答
saltedfish1987
2010-09-17 · 超过22用户采纳过TA的回答
知道答主
回答量:76
采纳率:0%
帮助的人:54.1万
展开全部
i=0时,k+=f(a)的a是3,在f内,c所以是3,static a是2,c加1变为4,(a++)+c的值是6,static a的值同时变为3.所以k+=6,k的值为6。
i=1时,k+=f(a)的a也为3,在f内,c是3,static a是上一次调用后的值3,c加1变为4,(a++)+c的值是7,a同时变为4,所以K+=7,k的值为13.
最后的k+=a的a值全局变量a,既是1,所以k的值为14
Kyle科普探索
2010-09-17 · 超过30用户采纳过TA的回答
知道答主
回答量:160
采纳率:0%
帮助的人:33.8万
展开全部
因为a为全局变量 所以a值在非定义情况下永远为1,k+=f(a)等于a(++)+c=6;循环两次等于12 在有k+=a知 k=14(a++值后 a的值+1=2)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
墨夷忆之0Ga5af
2010-09-17 · 超过24用户采纳过TA的回答
知道答主
回答量:102
采纳率:0%
帮助的人:0
展开全部
你搞清楚a的范围就行了
全局变量a 其实只在k+=a 这用
for里的a 其实只在k+=f(a)这用
static a只在f()里用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
CQDJYUHONG
2010-09-17 · TA获得超过2926个赞
知道小有建树答主
回答量:841
采纳率:80%
帮助的人:277万
展开全部
主函数里面有两次循环,先计算第一次f(a)的值也就是f(3)。f(c)函数里面:c=c+1,所以c=4.(a++)+c的值就为6,既是k的值为6.因为++在后面,所以第一次还是用a=2计算。计算完第一次后a的值就变味了3.同样的方法计算第二次f(3)的值为7,执行完两次循环k的值为13.最后执行k+=a。这时的a是全局变量的a。值为1.所以最后k=14.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式