万能百科  > 所属分类  > 

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

有以下程序 fun(int x) { int p; if(x=0||x=1) return(3); p=x-fun(x-2); return p; } main0 { printf("%d\n",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。

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

标签