选择题
有以下程序:
#include<stdio.h>
int f(int x)
{
int y;
if(x==0||x==1)return(3);
y=x*x-f(x-2);
return t;
}
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选项正确。
提交答案
关闭