A-A+

有以下程序includevoid fun(int x){if(x/2>1)

2022-08-05 20:54:32 问答库 阅读 172 次

问题详情

有以下程序
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。

考点:程序