问题 单项选择题

下列程序的输出结果是( )。 #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() { print f("\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。

问答题
单项选择题