全部问题 > 当前问题

为什么f(3)的结果得的是y的值?

薛佳 2019-8-17 15:58:36

共 1 个回答

【C语言】桦桦 2019-8-31 10:25:04

因为返回值是y呀

问题来自: 递归函数
有以下程序
#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)= 3*3-f(1)= 3*3-3= 9-3= 6。因此选C。