题目内容

以下程序的输出结果是( )。#include long fun(int n){long s;if(n==1||n==2)s=2;elses=n+fun(n-1);return s;}int main(){printf("%ld\n", fun(4));return 0;}

A. 9
B. 7
C. 5
D. 4

查看答案
更多问题

有以下程序#include int f(int n){if (n==1)return 1;elsereturn f(n-1)+1;//递归调用}int main(){int i,j=0;for(i=1;i<3;i++)j+=f(i);printf("%d\n",j);return 0;}程序运行后的输出结果是( )。

A. 6
B. 3
C. 2
D. 1

对于以下递归函数,执行Fun(5)的输出结果是#include int Fun(int i){int sum=0;if (i==1)sum=1;elsesum=i+Fun(i-1);return sum;}int main(){printf("%d",Fun(5));return 0;}

A. 0
B. 1
C. 8
D. 15

以下说法正确的是( )

A. 既允许直接递归调用也允许间接递归调用
B. 不允许直接递归调用也不允许间接递归调用
C. 允许直接递归调用不允许间接递归调用
D. 不允许直接递归调用允许间接递归调用

在函数的调用过程中,如果函数funcA调用了函数funcB,函数funcB又调用了函数funcA,则

A. 称为函数的直接递归调用
B. 称为函数的循环递归调用
C. 称为函数的间接递归调用
D. C程序不允许这样的递归调用

答案查题题库