1. 有函数int func(int i)的实现为 请问函数调用func(5)的返回值是多少()
int func(int i)
{
if (i > 1)
return i * func(i - 1);
else
return 1;
}
解析:func(5) = 5 * func(4)
= 5 * 4 * func(3)
= 5 * 4 * 3 * func(2)
= 5 * 4 * 3 * 2 * func(1)
= 5 * 4 * 3 * 2 * 1
= 120
2 .
解析:栈的特点是“先进后处,后进先出”,在程序执行过程中,主程序先进栈,被调用的程序后进栈;当被调用程序结束后,先出栈,最后主程序运行结束了,主程序才出栈。
3.
4.
5.
6.
解析:f(x) 当x大于0时,返回x*f(x-1),否则返回2
f(0) = 2
f(1) = 1 * f(0) = 2
f(2) = 2 * f(1) = 4
f(3) = 3 * f(2) = 12
f(4) = 4 * f(3) = 48
f(4) = f(f(2)) = 48
7.