单选题 有以下程序: #include 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); prinff(“%d\n”,z); } 程序运行后的输出结果是( )。
【正确答案】 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选项正确。