河南公基

首页 > 试题汇总 > 公基

有以下程序fun(int x, int y){ static int m=0, i=2;i+=m+1; m=i+x+y

华图教育 | 2020-04-08 13:13

收藏

点击查看>>>精品备考图书试卷

有以下程序

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 ",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 。

分享到

微信咨询

微信中长按识别二维码 咨询客服

全部资讯

copyright ©2006-2020 华图教育版权所有