问题 单项选择题

以下程序的输出结果是 #include<stdio.h> in[fun(int n,int *s) {int n,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); pfintf("\n%d",x);}

A.7

B.13

C.9

D.10

答案

参考答案:B

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

单项选择题
多项选择题