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

admin2005-08-15  28

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

选项

答案1 3 6

解析 本题考查了函数的递归调用。第一次调用fun()函数时,x值为6,x/2>0成立,再一次调用fun()函数,但输出x值的语句尚未执行,断点保存。第二次调用时x值为3,x/2>0仍成立,再一次调用fun()函数时,但x的值3尚未输出,断点保存。第三次调用时x值为1,条件不成立,输出1,递归返回到第二次调用,输出x的值3,再次递归返回到第一次调用,输出x的值为6。
转载请注明原文地址:https://kaotiyun.com/show/KYHp777K
0

相关试题推荐
最新回复(0)