问题 单项选择题

有以下程序:
fun(int x)
int p;
if(x==0||x==1)return(3);
p=x-fun(x-2);
return p;

main()
printf("%d\n",fun(7));
执行后的输出结果是______。

A) 7
B) 3
C) 2
D) 0

答案

参考答案:C

解析: 函数fun是一个递归调用函数,首先主函数将实参7传递给fun函数中的形参x,由于x=7不满足if语句的条件,则执行下面的“p=x-fun(x-2);”语句,此语句继续调用本身,直到当x=1时,返回函数值3代入到调用它的表达式中,以此类推,最终p的值为2。

单项选择题
名词解释