有以下程序: #include<stdio.h> void fun(int n,int *s) { int f: if(n= =1) *s=n+1; else {fun(n—1,&f);*s=f;} } main( ) { int x=0; fun(4,&

admin2019-04-14  17

问题 有以下程序:
#include<stdio.h>
void fun(int n,int *s)
{
int f:
if(n= =1) *s=n+1;
else
{fun(n—1,&f);*s=f;}
}
main( )
{
int x=0;
fun(4,&x);
printf(″%d\n″,x);
}
程序运行后的输出结果是(    )。

选项 A、3
B、1
C、2
D、4

答案C

解析 本题考查函数的递归调用。将函数参数带入函数中,一步步递归即可得到结果,结果为2。故选项C正确。
转载请注明原文地址:https://kaotiyun.com/show/e1Rp777K
0

最新回复(0)