单选题
有以下程序 fun(int x) main() {int p; { if(x==0‖x==1)return(3); printf("%d\n",fun(7)); p=x—fun(x-2); } return p;}执行后的输出结果是
【正确答案】
D
【答案解析】解析:因为在函数fun(int x)中,如果参数x等于0或等于1时,返回值为“3”。否则“p=x-fun(x-2)”这是一个递归函数,所以在主函数调用fun(7)的时候,其过程为: “fun(7)=7一fun(5)=7一(5一fun(3))=7一(5一(3一fun(1)))=7一(5一(3一3))=7—5=2”, 所以最后的输出结果为2。