填空题
以下程序运行后的输出结果是 【18】
fun(int x)
{ if(x/2>0) fun(x/2);
printf("%d ",x);
}
main( )
{ fun(6); }
【正确答案】
1、[18] 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。