选择题 24.  下列程序的运行结果是______。
    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]);}
【正确答案】 D
【答案解析】[考点] 本题考查双重函数调用及for循环的使用,fun()函数中第一个for循环语句的作用是给数组a赋值。
当第一次调用fun()函数时,把实参1传给形参,输出a数组的元素为1,3,5;第二次调用fun()函数时,由于数组a为静态局部变量,故输出a数组的元素为-1,3,7。