有以下程序: #include void fun(int x) { if(x/2>1)fun(x/2); prinff(“%d”,X); } void main() { fun(7); prinff(“\n”); } 程序运行后的结果是(

admin2018-02-02  22

问题 有以下程序:
#include
void fun(int x)
{
  if(x/2>1)fun(x/2);
  prinff(“%d”,X);
}
void main()
{
  fun(7);
  prinff(“\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/zBa0FFFM
0

最新回复(0)