下述程序的输出结果是( )。 #include <stdio.h> int f(n) int n; { if(n==0 | | n==1) return 3; return n-f(n-2); } voi

admin2010-01-10  26

问题 下述程序的输出结果是(  )。    #include <stdio.h>    int f(n)    int n;    {  if(n==0 | | n==1)    return 3;    return n-f(n-2);    }    void main()    {printf("\n%d",f(10));    }

选项 A、3
B、8
C、9
D、10

答案1

解析 本题定义了一个递归函数f()。当传入的参数n等于1或0时返回3,否则返回n-f(n-2)。所以f(10)=10-f(8)=10- (8—f(6))=10-8+(6-f(4))=10-8+6-(4-f(2))=10-8+6-4+(2-f(0))=10-8+6-4+2-3=3。故本题应该选择A。
转载请注明原文地址:https://jikaoti.com/ti/nSI0FFFM
0

最新回复(0)