问题
单项选择题
下列程序的输出结果是( )。
#include<stdio.h>
int fun(int x)
int p;
if(x==0||x==1)
return 3;
else
p=x-fun(x-2);
return p;void main()
printf("\n%d",fun(5));
A.5
B.3
C.7
D.1
答案
参考答案:A
解析: 本题考查函数的递归调用。在函数递归调用时,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,晕后的计算结果为5。