A-A+

下列程序的输出结果是()。 #include<stdio.h> int fun(int x)

2022-08-05 23:20:46 问答库 阅读 173 次

问题详情

下列程序的输出结果是()。
#include<stdio.h>
int fun(int x)
{ int a;
if(x==0‖x==1)
return 3;
else
a=x-fun(x-2) ;
return a;
}
void main()
{ printf("%d",fun(7) );
}
A.2
B.8
C.9
D.5

参考答案

正确答案:A
解析:本题考查函数的递归调用。在函数递归调用时,fun(7):a=7-fun(5)→fun(5):a=5-fun(3)→ fun3:a=3-fun(1)→fun(1):a=3,反推回去fun(3):a=3-3=0→ fun(5):a=5-0=5→fun(7):a=7-5=2,最后的计算结果为2。

考点:程序