填空题 1.  请补充fun()函数,fun()函数的功能是:求m的阶乘。
    请勿改动main()函数与其他函数中的任何内容,仅在fun()函数的横线上填写所需的若干表达式语句。
    注意:部分源程序如下。
    试题程序:
    #include<stdio.h>
    long fun(int m)
    {
    if(______)
    return(m*fun(______));
    return ______;
    }
    void main()
    {
    printf("8!=%ld\n",fun(8));
    }
  • 1、
【正确答案】 1、m>1
   m-1
   1    
【答案解析】 (1)第一个空是要根据m的取值来判断使用何种阶乘的计算公式。这里根据第2句递归调用语句,可知该语句是用来计算当m>1时的阶乘。因此,第一个空if语句里面的条件应该满足“m>1”,所以,第一个空应填“m>1”。
   (2)第二个空很显然是采用递归函数来实现阶乘的计算,所以,第二个空应填“m-1”。
   (3)第三个空是要实现当m=1时的阶乘计算,所以,第三个空应填“1”。