下列程序的输出结果是【 】。

2025-04-24 08:49:38
推荐回答(1个)
回答1:

输出结果:13\n

上面的 fun 使用了递归调用,其计算过程如下:

初始参数: x = 3

x = 3,x/2=3/2=1.5,1.5>0,执行 fun(x/2),即 fun(1),递归调用,跳到函数首部(printf("%d",x) 挂起,没有执行)

x = 1,x/2=1/2=0.5,0.5>0,执行 printf("%d",x) ,输出 1

返回上层递归,继续上层挂起的代码:执行 printf("%d",x) ,输出 3