有以下程序include<stdio.h>void fun(int x){if(x/2>1)fun(x/2);printf("%d"

10 查阅

有以下程序

include<stdio.h>

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(7),首先将参数代入函数,因为(7/2)>1,所以执行f(3),依此类推直到f(1.5),(1.5/2)<1,所以执行打印函数,此时X值为3,然后退出f(1.5),返回f(3),打印x值即7。所以选D。

计算机二级