问答详情
源自:5-9 递归函数练习

谁能帮我说一下执行顺序

#include <stdio.h> 

int digui(int n)

{

    int ni,sum;

    if(n==1)

        ni=10;


    else

    ni=digui(n-1)+2;(这个是怎得出结果的?比如函数是:5,5-1+2=6(就算加上10也是16))

printf("%d\n",n);

printf("%d\n",ni);

    return ni;

    printf("%d\n",n);

    

}

int main() 

{

   int sum=digui(5);

printf("第5个人的年龄是%d岁", sum); 

return 0;

}

提问者:你好人 2018-02-19 10:12

个回答

  • 浅草嘲
    2018-02-19 17:20:15

    递归就是一个函数在它的函数体内调用它自身,比如你输入digui(5)的时候,判断n是5不是1,于是年龄数+2,这个时候就是2,与此同时开始运算递归digui(4),发现n仍然不等于1,于是年龄数又+2,这时候是4了...直到最后加上最后一人的10岁,总共是18...我也是初学者表达能力不好见谅哈