c语言,这个运行结果是多少,怎么来的?
6个回答
展开全部
f()里面a的值被赋于c的值,为5,与原来进来是多少没有关系,f()的返回值只与里面的c有关,总是返回5。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
6
main里面,调用f函数两次,
第一次,f函数里面的c初始化为5,a=c++,会导致c自增为6
第二次,f函数里的c由于是静态变量,所以不执行初始化语句,a=c++, a的值是6,c自增为7,最后返回a,
返回结果回到main函数赋值给k,k的结果就是6
main里面,调用f函数两次,
第一次,f函数里面的c初始化为5,a=c++,会导致c自增为6
第二次,f函数里的c由于是静态变量,所以不执行初始化语句,a=c++, a的值是6,c自增为7,最后返回a,
返回结果回到main函数赋值给k,k的结果就是6
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
k的输出值是 6
for 循环会执行两次,第一次调用 f(a=4) 第二次调用 f(a=5).
第一次调用时,f(a=4) 返回值a是c执行++之前的结果,返回5,c++后变成6.
第二次调用时,f(a=5)此时c已经是6了。同样返回值a是c执行++之前的结果,返回6.
返回值6被赋值给k,因此输出 k = 6.
for 循环会执行两次,第一次调用 f(a=4) 第二次调用 f(a=5).
第一次调用时,f(a=4) 返回值a是c执行++之前的结果,返回5,c++后变成6.
第二次调用时,f(a=5)此时c已经是6了。同样返回值a是c执行++之前的结果,返回6.
返回值6被赋值给k,因此输出 k = 6.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询