15、给定如下函数(函数功能同上题,增加输出打印):则当n=4时,屏幕上输出序列为( )。
答案:C
解析:分析函数调用过程:
当n = 4 时,函数调用fun(4):
fun(4) 输出4,然后计算fun(2) - fun(3)。输出顺序为4。
fun(2) 输出2,然后返回2。输出顺序为4 2。
fun(3) 输出3,然后计算fun(1) - fun(2)。输出顺序为4 2 3.
fun(1) 输出1,然后返回1。输出顺序为4 2 3 1.
fun(2) 返回2,因为已经计算过,不再输出。输出顺序为4 2 3 1 2.
计算fun(3) = 1 - 2 = -1,返回-1。输出顺序为4 2 3 1 2.
计算fun(4) = 2 - (-1) = 3,返回3。输出顺序为4 2 3 1 2 4.
结论:
因此,当n = 4 时,屏幕上输出的序列是 C. 4 2 3 1 2。