以下程序:
#include
void fun(int x)
{
if(x/2>1) fun(x/2);
printf("%d",x);
}
main()
{
fun(7);
printf("\n");
}
程序运行后的结果是( )。
函数 fun 是递归函数, 递归终止条件是 x 小于等于 3, 当大于 3 时递归调用 fun(x/2)。 第一次循环x/2=3, 调用 fun(3), x/2=1, 跳出 if 循环, 执行输出 x=3, 然后回到第一次循环, 执行 if 循环的语句, 输出 x=7。答案选择 D 选项。