日新
6
公司 :杭州神话信息技术有限公司
部门 :运营中心设计部
岗位 :UI视觉设计
5
关注
18
粉丝
16171
微博
2
被赞
新浪微博
原创达人
[个人/站长]
点击申请认证
友情链接:
找感兴趣的人
精彩内容
热门应用
关于我们
手机玩微博
fun(int x, int y)
{ static int m=0, i=2;
i+=m+1; m=i+x+y; return m;
}
main()
{ int j=1,m=1,k;
k=fun(j,m); printf("%d,",k);
k=fun(j,m); printf("%d\n",k);
}
执行后的输出结果是
A)5,5
B)5,11
C)11,11
D)11,5
正确答案:B答案 B解析 : 在子函数 fun(int x,int y) 中 , 变量 m 和 i 声明为静态局部变量 , 所以经过第 1 次函数的调用后,局部静态变量 m 和 i 的值分为为 5 和 3 ,当第 1 次调用结束时,其值保持不变 ,所以第 2 次调用时 , m 和 i 的值分别为 5 和 3 , 也就是说在执行 “ i+=m+1 ” 时 , i 的值为 9 ,因此最终 m 的值为 11 。