以下程序运行时的输出结果第一行至第三行分别为

2025-04-30 13:14:26
推荐回答(1个)
回答1:

//这是个递归函数,
//第一次进来, n = 4 进else 执行:a=n+sub(n-1); 进sub(n-1);
//这会进入第二次,现在 n = 3, 还是进else 执行:a=n+sub(n-1); 进sub(n-1);
//这会进入第三次,现在 n = 2, 还是进else 执行:a=n+sub(n-1); 进sub(n-1);
//这会进入第四次,现在 n = 1, 还是进if 执行:返回1
//退回第三次a=n+sub(n-1);句语之后 a = 2 +1 =2; 打印3 并反回3
//退回第二次 a=n+sub(n-1);句语之后 a = 3 + 3 = 6; 打印6 并反回6
//退回第一次 a=n+sub(n-1);句语之后 a = 4 + 6 = 10; 打印10 并反回10
//最后退出函数 照理说,你主函数里还打印了sub的返回值的,应该会还打印一个10出来才对