有以下程序: #include<stdio.h> int f(int x) { int y; if(x==0||x==1)return(3); y=x*x-f(X-2); return y;

admin2019-03-01  23

问题 有以下程序:
    #include<stdio.h>
    int f(int x)
    {
    int y;
    if(x==0||x==1)return(3);
    y=x*x-f(X-2);
    return y;
    }
    main()
    {
    int z;
    z=f(3);
    printf(’’%d\n’’,z);
    }
    程序运行后的输出结果是(    )。

选项 A、0
B、9
C、6
D、8

答案C

解析 主函数中调用f函数,同时将数值3传递给变量x,执行条件不满足条件if(x==0||x==1);跳过return(3);,直接执行语句y=x*x-f(x-2);这里f(x-2)为函数的递归调用,再次调用f函数,此时x=1,判断条件成立,返回3给f(1),y=3*3-3=6,最后将6返回主函数,并进行输出。因此C选项正确。
转载请注明原文地址:https://kaotiyun.com/show/1eID777K
0

相关试题推荐
随机试题
最新回复(0)