求解析,越快越好,谢谢
展开全部
因为a为全局变量 所以a值在非定义情况下永远为1,k+=f(a)等于a(++)+c=6;循环两次等于12 在有k+=a知 k=14(a++值后 a的值+1=2)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你搞清楚a的范围就行了
全局变量a 其实只在k+=a 这用
for里的a 其实只在k+=f(a)这用
static a只在f()里用
全局变量a 其实只在k+=a 这用
for里的a 其实只在k+=f(a)这用
static a只在f()里用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
主函数里面有两次循环,先计算第一次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.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询