本帖最后由 liyanghml 于 2015-4-2 03:16 编辑
- public static int getSun(int a)
- {
- if (a == 1)
- {
- return 1;
- }
- int temp = getSun(a-1);
- System.out.println("a="+a);
- return temp+a;
- }
复制代码 (1)a=4 调用getSun(a-1),此时a-1=3,
(2)a=3调用getSun(a),执行到getSun(a-1),此时a-1=2,
(3)a=2调用getSun(a),执行到getSun(a-1),此时a-1=1,
(4)a=1调用getSun(a),符合条件(a==1),return 1;
之后逆向进入(3)temp=1,a=2输出打印a=2,返回temp+a=3,在回到(2)temp=3,a=3输出打印a=3,返回temp+a=6
再回到(1)temp=6,a=4输出打印a=4,返回temp+a=10;
|