A-A+

以下程序运行后的输出结果是【 】。 fun(iht x) { if(x/2>0) fun(x

2022-08-12 18:39:02 问答库 阅读 197 次

问题详情

以下程序运行后的输出结果是【 】。 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。

考点:程序