给定程序MODll.C中函数fun的功能是:求k!(k0 return (k*fun(k-1)); /************found************/ else if ( k=0 ) return 1L; } mai

admin2013-06-12  46

问题 给定程序MODll.C中函数fun的功能是:求k!(k<13),所求阶乘的值作为函数值返回。例如:若k=10,则应输出:3628800。
    请改正程序中的错误,使它能得出正确的结果。
    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
long fun (int k)
{
/************found************/
   if  k>0
      return (k*fun(k-1));
/************found************/
   else if ( k=0 )
     return 1L;
}
main()
{int k = 10 ;
   printf("%d!=%ld\n", k, fun (k));
}

选项

答案if(k>0) else if ( k==0 )

解析 (1)第一个标识下的if语句的条件表达式,根据C语言的基本语法条件,表达式应该用括号括起来,所以将“if  k>0”改为“if(k>0)”。
(2)第二个标识下“else if ( k=0 )”判断k是否等于0,在C语言中,“==”表示等于,而“=”表示赋值,故第二个标识处应为“else if ( k==0 )”。
转载请注明原文地址:https://kaotiyun.com/show/LrJp777K
0

最新回复(0)