问答题
下列给定程序中,函数fun的功能是:计算整数n的阶乘。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdlib.h>#include<stdio.h>double fun(int n){ double result:1.0; while(n>1&&n<170)/******found******/ result*c=一一n:/******found******/ return;}void main(){ int n; prinff(“Enter fill integer:”); seanf(“%d”,&n); printf(“\n%d!=%1g\n”,n,fun(n));}
【正确答案】正确答案:(1)result*=n一一; (2)retum result;
【答案解析】解析:本题考查:复合赋值运算;通过return语句完成函数值的返回。 该题采用循环语句计算n的阶乘。当n大于1且小于170时,令result与n相乘,同时n自动减1,循环至n=2(n=1时无须相乘)。最后将阶乘的积result返回给主函数。