问题 单项选择题

以下程序的输出结果是( )。
#include<stdio.h>
int fun(int n,int *s)
int f1,f2;
if(n==0||n==1)
*s=1;
else
fun(n-1,&f1);
fun(n-2,&f2);
*s=f1+f2;

void main()
int x;
fun(6,&x);
printf("\n%d" ,x);

A.7

B.13

C.9

D.10

答案

参考答案:B

解析:[命题目的] 考查函数的递归调用。
[解题要点] n=0或n=1是递归的终止条件。然后利用已知值逐步递推求出未知值。
[考点链接] 通过传送地址值,在被调用函数中直接改变调用函数中的变量的值。

多项选择题
单项选择题