执行完下列语句段后,i值为( )。 int f(f(1)); {return((x>0)?x*f(x-1):2);} int I; I=f(f(1));

admin2018-10-11  35

问题 执行完下列语句段后,i值为(    )。
    int f(f(1));
    {return((x>0)?x*f(x-1):2);}
    int I;
    I=f(f(1));

选项 A、2
B、4
C、8
D、无线递归

答案A

解析 第一次调用f(1),则x=1,执行(x>0)?x*f(x-1):2)后,得到1*f(0);第二次调用f(0),则x=0,执行(x>0)?x*f(x-1):2)后,得到2;最后运算结果是2。
转载请注明原文地址:https://www.kaotiyun.com/show/4E4l777K
0

最新回复(0)