问答题
下列给定程序中,函数fun的功能是:用递归算法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:1、1、2、3、5、8、13、21、……例如,若给n输入7,则该项的斐波拉契数值为13。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MOD11.C中,不得增行或删行,也不得更改程序的结构。#include<stdio.h>long fun(int g){/**********found**********/switch(g);{case 0:return 0;/**********found**********/case1;case2:return 1;}return(fun(g一1)+fun(g一2));}main(){long fib;int n;printf(''Inputn:'');scanf(''%d'',&n);printf(''n=%d\n'',n);fib=fun(n);printf(''fib=%d\n\n'',fib);}
【正确答案】正确答案:1.去掉分号 2.case 1:case 2:return 1:
【答案解析】解析:C语言中,switch语句之后不能有分号,并且case语句常量后应用的是冒号。