问题 单项选择题

有以下程序
#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条件语句的判断不成立,接着执行y=3*3-f(1),再执行f(1),而f(1)满足if条件语句,所以f(1)的值为3,代入y=3*3-f(1)=9-3=6。

单项选择题
问答题 简答题