A-A+
以下程序运行后的输出结果是【 】。 fun(iht x) { if(x/2>0) fun(x
问题详情
以下程序运行后的输出结果是【 】。 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。