有以下程序include<stdio.h>void fun(int x){if(x/2>1)fun(x/2);printf("%d"
有以下程序
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。
词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
