问题
单项选择题
有以下程序:
#include <stdio.h>
int f(int x)
inty;
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
解析: 函数int f(int x)是一个递归函数调用,当x的值等于0或1时,函数值等于3,其他情况下y=x<sup>2</sup>-f(x-2),所以在主函数中执行语句z=f(3)时,y=3*3-(3-2)=9-f(1)=9-3=6。