计算机二级考试

解析:有下列程序: int fun(int n) if(n==1)ret

来源:网考网计算机二级 所有评论

【单选题】有下列程序:
int fun(int n)
if(n==1)return 1;
else
return(n+fun(n-1));

main()
int x;
scanf("%d",&x);x=fun(x);printf("%d\n",x);

执行程序时,给变量x输入10,程序的输出结果是()。
A.55
B.54
C.65
D.45
网考网参考答案:A
网考网解析:

[解析] 本题在函数int fun(int n)的定义中又出现了对函数fun的调用,所以函数fun是递归函数。因而在主函数中调用x=fun(x)时,当输入10赋给变量x时,递归调用的过程为: fun(10)=10+fun(9)=10+9+fun(8)=10+9++8+fun(7) =10+9++8+7+fun(6)=10+9++8+7+6+fun(6) =10+9++8+7+6+5+fun(4) =10+9++8+7+6+5+4+fun(3) =10+9++8+7+6+5+4+3+fun(2) =10+9++8+7+6+5+4+3+2+fun(1) =10+9++8+7+6+5+4+3+2=55 查看试题解析出处>>

相关推荐

发布评论 查看全部评论