以下程序的输出结果是________。 #include main() {int x=0: sub(&x,16,2); printf(“%d\n”,x); } sub(int*a,int n,in

admin2012-08-23  32

问题 以下程序的输出结果是________。
    #include
    main()
    {int x=0:
     sub(&x,16,2);
     printf(“%d\n”,x);
    }
    sub(int*a,int n,int k)
    {if-(k<=n)sub(a,n/2,2*k);
    *a+=k;
    }

选项

答案14

解析 本题考查递归函数的调用。在主函数中调用sub(&x.16,2)函数,此时n=16,k=2,if语句的控制的条件k<=n成立,所以执行下面的语句,调用sub(x,8,4),此时n=8,k=4,if语句的控制条件k<=n成立,所以执行下面的语句,调用sub(x,4,8),此时n=4,k=8,if语句控制的条件k<=n不成立,因此,最后得x=2+4+8=14。
转载请注明原文地址:https://jikaoti.com/ti/6tB0FFFM
0

最新回复(0)