柠檬试题库
search
首页
计算机
公务员
驾照
关于
share
有以下程序 #include
int fun(int a, int B) { if(b==0) return a; else return(fun(--a,--b)); } main() { printf("%d\n", fun(4,2)); } 程序的运行结果是
A.1
B.2
C.3
D.4
热度🔥684
参考答案:B
解析:
【解析】本题重点考察函数的递归调用;题目中给出的fun()函数直接调用了自身,所以是一个递归函数。其功能是:当参数b为0时,返回参数a的值,否则返回fun(--a,--b)的值。从这里可以看出,当b不断递减时,a也不断递减,直到b为0时返回a的值。那么a递减的总值就是b原来的值。所以整个递归函数的作用就是返回a-b的值。因此B选项正确。
复制题目向AI提问
content_copy
content_copy
扫码免费计算机二级刷题
2025年计算机等级考试题库
推荐
有以下程序 #include typedef struct stu { char name[10]; char gender; int score; } STU; void f(STU *a, STU *b) { *b = *a; printf("%s,%c,%d,", b->name, b->gender, b->score); } main() { STU a={"Zhao", 'm', 290}, b={"Qian", 'f', 350}; f(&a,&b); printf("%s,%c,%d\n", b.name, b.gender, b.score); } 程序的运行结果是
设栈的存储空间为S(1:50),初始状态为 top=51。现经过一系列正常的入栈与退栈操作后,top=50,则栈中的元素个数为( )。
标签
二级C语言
fun
函数
返回
int