以下程序运行后的输出结果是【 】。 fun(iht x) { if(x/2>0) fun(x/2); printf("%d",x); } main() { fun(6); }

admin2010-09-05  29

问题 以下程序运行后的输出结果是【  】。
       fun(iht x)
   {  if(x/2>0) fun(x/2);
      printf("%d",x);
   }
   main()
   {  fun(6);  }

选项

答案1 3 6

解析 本题考查函数的递归调用。函数fun是递归函数,语句fun(6)的调用过程如下:
   第1次:调用fun(6),6/2=3>0成立,调用fun(3);
   第2次:调用fun(3),3/2=1>0成立,调用fun(1);
   第3次:调用fun(1),1/2=0>0不成立,执行语句printf("%d",x);,输出1。
   推出fun(3)输出3,fun(6)输出为6。
转载请注明原文地址:https://jikaoti.com/ti/C1I0FFFM
0

最新回复(0)