有以下程序: #include void fun(int a) {if(a>1)a*=fun(a一1); pfintf(’’%d’’,a); return a; } main() {fun(3);printf(’’\n’’);} 执行后的输出结果是( )

admin2021-06-15  31

问题 有以下程序:
#include
void fun(int a)
{if(a>1)a*=fun(a一1);
pfintf(’’%d’’,a);
return a;
}
main()
{fun(3);printf(’’\n’’);}
执行后的输出结果是(  )。

选项 A、126
B、621
C、1
D、6

答案A

解析 此题是迭代调用,结果是a=3*(2*(1))=6,但printf语句每次都要执行,而且是先从最后一层调用开始,即a=1最先打印,a=2其次,a=6最后打印。
转载请注明原文地址:https://kaotiyun.com/show/Tgtp777K
0

最新回复(0)