以下程序: #include void fun(int x) { if(x/2>1)fun(x/2); printf("%d",x); } main() {fun(7);printf(”\n”);} 程序运行后

admin2020-10-26  32

问题 以下程序:
    #include
    void fun(int x)
    {  if(x/2>1)fun(x/2);
    printf("%d",x);
    }
main()
{fun(7);printf(”\n”);}
  程序运行后的结果是(    )。

选项 A、1 3 7
B、7 3 1
C、7 3
D、3 7

答案D

解析 函数fun是递归函数,递归终止条件是x小于等于3,当大于3时递归调用fun(x/2)。第一次循环x/2=3,调用fun(3),fun(3),x/2=1,跳出if循环,执行输出x=3,然后回到第一次循环,执行if循环的语句,输出x=7。
转载请注明原文地址:https://jikaoti.com/ti/xiD0FFFM
0

最新回复(0)