#include <stdio.h> long fun ( int k) { /************found************/ if (k ___1___ 0) /************found************/ return (k*fun(___2___)); /************found************/ else if ( k ___3___ 0 ) return 1L; } main() { int k = 10 ; printf("%d!=%ld\n", k, fun ( k )) ; }
时间: 2023-07-01 12:12:44 浏览: 155
#include <stdio.h>
根据程序填空题的要求,在 ___1___、___2___、___3___ 的位置填上合适的代码。
根据程序的语义和结构,可以推测出正确的代码如下:
```
#include <stdio.h>
long fun(int k) {
if (k > 0) // ___1___
return (k * fun(k - 1)); // ___2___
else if (k == 0) // ___3___
return 1L;
}
int main() {
int k = 10;
printf("%d!=%ld\n", k, fun(k));
return 0;
}
```
解释如下:
在程序中,fun 函数的功能是计算 k 的阶乘,其中 k 是传入的参数。
在 fun 函数中,对于 k 大于 0 的情况,我们需要返回 k 与 (k-1) 的阶乘的乘积。因此,我们使用递归调用 fun 函数,并将参数传入 k-1。
对于 k 等于 0 的情况,我们需要返回 1,因为 0 的阶乘等于 1。
在 main 函数中,我们定义一个整数变量 k,并设置为 10。然后,我们调用 fun 函数,将 k 作为参数传递给它,并打印出 k 的阶乘的值。
阅读全文