下面程序输出的是(    )。main(){&

下面程序输出的是(    )。main(){  int t-1;fun(fun(t));)fun(int h){static int a[3]-{1,2,3};int k;for(k-0;k%3;k++)a[k]+=a[k]-h;for(k-0;k<3;k++)printf(”%d”,a[k]);printf(”\n”);return(a[h]);

问题:

[单选] 下面程序输出的是( )。
main()
{ int t-1;fun(fun(t));)
fun(int h)
{static int a[3]-{1,2,3};
int k;
for(k-0;k%3;k++)a[k]+=a[k]-h;
for(k-0;k<3;k++)printf(”%d”,a[k]);
printf(”\n”);
return(a[h]);)

A . 1,2,3,
B . 1,3,5,1,5,9, 1,3,5,
C . 1,3,5,
D . 1,3,5,0,4,8, -l,3,7,

参考答案:D

参考解析:

D。【解析】本题考查双重函数调用及for循环使用,fun函数中第一个for循环语句的作用是给数组a赋值。当第一次调用fun函数时,把实参1传给形参,输出a数组的元素为1,3,5;第二次调用fun函数时,由于数组a为静态局部变量,故输出a数组的元素为-l,3,7。

联系我们

联系我们

查看联系方式

邮箱: 2643773075@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部