#include <stdio.h> int fun( int x ) { int p; if (x == 0|| x == 1 ) return(3); p = x - fun( x – 2 ); return(p); } main() { printf ("%d\n",fun(9)); }
时间: 2024-03-11 14:44:38 浏览: 52
这段代码实现了一个递归函数`fun`,该函数接受一个整数参数x,并返回一个整数结果。
函数实现的逻辑是:
1. 如果x等于0或1,则直接返回3;
2. 否则,计算p的值,p等于x减去fun(x-2)的结果。其中,fun(x-2)是对函数自身的递归调用,传入的参数为x-2。
3. 返回p的值。
在主函数中,调用`fun(9)`,输出函数的返回值。
递归调用过程如下:
1. 调用`fun(9)`,由于9不等于0或1,因此继续执行。
2. 计算p的值,p等于9减去`fun(7)`的结果。
3. 调用`fun(7)`,由于7不等于0或1,因此继续执行。
4. 计算p的值,p等于7减去`fun(5)`的结果。
5. 调用`fun(5)`,由于5不等于0或1,因此继续执行。
6. 计算p的值,p等于5减去`fun(3)`的结果。
7. 调用`fun(3)`,由于3不等于0或1,因此继续执行。
8. 计算p的值,p等于3减去`fun(1)`的结果。
9. 调用`fun(1)`,返回结果3。
10. 计算p的值,p等于3减去3的结果,即0。
11. 返回p的值0。
12. 回到步骤4,将p的值0返回给步骤4,即p等于7减去0,p的值为7。
13. 回到步骤2,将p的值7返回给步骤2,即p等于9减去7,p的值为2。
14. 返回p的值2。
因此,最终输出的结果为2。
相关问题
#include <stdio.h> int fun(int x)
#include <stdio.h> 是C语言中的一个预处理指令,它告诉编译器在编译过程中要包含stdio.h头文件。stdio.h是标准输入输出库的头文件,其中包含了一些常用的输入输出函数的声明,比如printf和scanf。
int fun(int x) 是一个函数的声明,它定义了一个名为fun的函数,该函数接受一个整数参数x,并返回一个整数值。函数声明告诉编译器函数的名称、参数类型和返回类型,但不包含函数的具体实现。
#include <stdio.h> int fun(int n){ if(n=1) return 1; return 2*fun(n-1)+1; f3)=2'f(2)+1f(2)=2*f(1)+1} int main( ){ printf("%d". fun(3));return 0;}
这段代码中存在一些问题,导致程序无法编译通过。问题如下:
1. 第一行的 #include <stdio.h> 后面应该有一个换行符,否则会导致编译错误。
2. 在 fun 函数的第二行,if 语句的条件中使用了赋值运算符“=”,应该用“==”。
3. 在 fun 函数的最后一行,缺少了一个“}”,导致编译错误。
4. 在 main 函数中,函数名后面的括号中应该有一个空格。
5. 最后一行的 printf 函数中,应该用“%d\n”而不是“%d”。
如果修改后的代码如下:
```
#include <stdio.h>
int fun(int n) {
if(n == 1) return 1;
return 2*fun(n-1)+1;
}
int main() {
printf("%d\n", fun(3));
return 0;
}
```
则输出结果为:
```
7
```
相关推荐
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)