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

admin2021-07-09  68

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

选项 A、137
B、731
C、73
D、37

答案D

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

最新回复(0)