试题题干
int f(int n)
{
if(n==2)return 0;
else return(n+f(n-2));
}
void main()
{
int a=10;
printf("%d\n",f(a));
}
参考答案
试题解析
在主函数中输出f(a)的值需要调用函数f(int n),即a=10,执行else语句n+f(n-2)=10+f(8);f(8)继续执行else语句n+f(n-2)=8+f(6);f(6)继续执行else语句n+f(n-2)=6+f(4);f(4)继续执行else语句n+f(n-2)=4+f(2);f(2)执行if语句,返回值为0,即最后输出f(a)的值为10+8+6+4=28。