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

admin2009-03-16  17

问题 有以下程序         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。
转载请注明原文地址:https://kaotiyun.com/show/PeXp777K
0

最新回复(0)