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