未分类题
有以下程序 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));} 执行后的输出结果是______。
D.0
A.7
B.3
C.2
【参考答案】
C
解析:函数fun是—个递归调用函数,首先主函数将实参7传递给函数fun中的形参x,由于7≠0,7≠1,不满足if条件,所以执行下面的p=x-fun(x-2);语句,此语句继续调用它本身,直到当x=1时,返回函数值3代入到调用它的表达式中,依此类推……,最终p的值为2。