下面程序输出的是()。main{ int t=l;fun(fun(t));}fun(int h){ static int a[3]={1.2.3};int k;f
程序,
已帮助 人
下面程序输出的是()。
main
{ int t=l;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.A.1,2,3, 1,5,9,
B.1,3,5, 1,3,j,
C.1,3,5, 0,4,8,
D.1,3。5, -1,3,7,
请帮忙给出正确答案和分析,谢谢!
-
正确答案:D
本题考查双重函数调用及for循环使用,fun函数中第一个for循环语句的作用是给数组a赋值。当第一次调用fun函数时,把实参1传给形参,输出a数组的元素为1,3,5;第二次调用fun函数时,由于数组a为静态局部变量,故输出a数组的元素为一1,3,7。
