有以下程序: #include<stdio.h> void fun(int x) { if(x/2>1)fun(x/2); printf(″%d″,x); } void main( ) { fun(7); printf(″\n″); } 程序运行后的结果是

admin2019-04-14  32

问题 有以下程序:
#include<stdio.h>
void fun(int x)
{
if(x/2>1)fun(x/2);
printf(″%d″,x);
}
void main( )
{
fun(7);
printf(″\n″);
}
程序运行后的结果是(    )。

选项 A、137
B、731
C、73
D、37

答案D

解析 函数fun是递归函数,递归终止条件是x小于等于2,当大于2时递归调用fun(x/2)、第一次循环x/2=3,调用fun(3),x/2=1,跳出if循环,执行输出x=3,然后回到第一次循环,执行if循环的语句,输出x=7。
转载请注明原文地址:https://jikaoti.com/ti/n8f0FFFM
0

最新回复(0)