问题 填空题

下列给定程序中,函数fun的功能是按以下递归公式求函数值。

例如:当给n输入5时,函数值为240;当给n输入3时,函数值为60。 请改正程序中的错误,使它能得到正确结果。 注意;不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include <stdio.h> /*************found****+*******/ fun(int n); { int c; /*************found********+*****/ if(n=1) c=15; else c=fun(n-1)*2; return(c); } main() { int n; printf("Enter n:"); scanf("%d",&n); printf("The result:%d\n\n",fun(n)); }

答案

参考答案:(1)错误:fun(int n); 正确:fun(int n)

解析:(2)错误:if(n=1) 正确:if(n==1)错误1:该行是函数的首部,不是一条语句,因此不能以分号结束。错误2:if垢面应该紧跟一个条件判断表达式,若写成“if(n=1)”,则说明该表达式的值永远为真,也就是说这个条件永远成立,没有递归执行。

判断题
单项选择题