A-A+

有以下程序 fun(int x) { int p; if(x=0||x=1) return(

2022-08-06 05:20:32 问答库 阅读 176 次

问题详情

有以下程序 fun(int x) { int p; if(x=0||x=1) return(3); p=x-fun(x-2); return p; } main0 { printf("%dn",fun(7));} 执行后的输出结果是______。
A.7
B.3
C.2
D.0

参考答案

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

考点:程序