有以下程序 yoidfun(intn,int*S){ intf; if(n=1)*s=n+l; else{fun(n-1,&f);*S=f;}} main( ){ intx=0: fun(4,&x); printf(’’%d\n’’,x); } 程序

admin2019-04-24  15

问题 有以下程序
yoidfun(intn,int*S){
intf;
if(n=1)*s=n+l;
else{fun(n-1,&f);*S=f;}}
main(    ){
intx=0:
fun(4,&x);
printf(’’%d\n’’,x);
}
程序运行后的输出结果是

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

答案D

解析 函数fun为递归调用函数,如果n的值为1,那么后面形参指向的空间存放n+1,否则继续计算fun(n.1)的值。调用分析过程如下:fun(4,&x)-→fun(3,&x)-→fun(2,&x)-→fun(1,&x)在回归的过程中,对于x内的数据并没有改动。
转载请注明原文地址:https://kaotiyun.com/show/QFRp777K
0

相关试题推荐
最新回复(0)