下列程序运行后第一行至第三行分别是80,160,320(不懂如何得到此答案,望大神详解)

2025-04-13 15:03:58
推荐回答(1个)
回答1:

这个函数是个递归结构,输入3也就是else递归了3层,第三层if被满足,m被加以自身三次也就是80,所以第一行输出了80,之后m退出剩下两次递归的时候又分别被加以自身,回到第二层输出160(80+80),回到第一层输出320(160+160),到此为止main里面的func(3)结束,下面的func(5)继续运算m。所以不出所料的话输出结果应该是:

80
160
320
10240
20480
40960
81920
163840