然後,從最後壹層往前返回。
執行流程如下:
1、執行sum=fun(a+2,4);這裏把a首地址往後偏移2位的數組傳入(既3,4,5......的數組)。
所以,這裏a[0]是3,n是4。n>1成立,執行調用進入下壹層。
2、執行a[0]+fun(a+1,n-1);傳4開頭的數組,a[0]是4,n是3,成立,下壹層。
3、同上,傳5開頭數組,a[0]是5,n是2,成立,下壹層。
4、同上,傳6開頭的數組,a[0]是6,n是1,不成立,執行return a[0];
之後從最後壹層往前返回:
4、返回a[0],也就是6。
3、返回a[0]+6,也就是5+6=11。
2、返回a[0]+11,也就是4+11=15。
1、返回a[0]+15,也就是3+15=18。