选择题
有以下程序:
#include <stdio.h>
void fac2(int);
void fac1(int n)
{ printf('*');
if(n>0) fac2(n-1);
}
void fae2(int n)
{ printf('#');
if(n>0) fat2(--n);
}
main()
{fael(3);}
程序的运行结果是______。
A、
*###
B、
*##*
C、
**##
D、
*#*#
【正确答案】
A
【答案解析】
函数facl中嵌套调用函数fac2,而fac2为递归函数。程序执行过程为:调用函数facl(3),输出*,3>0成立,调用函数fac2(2),输出#,2>0成立,调用fac2(1),输出#,1>0成立,调用fac2(0),输出#,0>0不成立,返回fac2(1),再返回fac2(2),再返回facl(3),函数调用结束。程序的运行结果是:*###。选项A正确。
提交答案
关闭