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

我不加返回值为什么会运行成功,输出第五个人是9岁?

#include <stdio.h> 

/* 

 * 请使用递归函数完成本题

 * 小编已将正确代码放在左侧任务的“不知道怎么办”里

 * 小编希望各位童鞋独立完成哦~

 */

 int i(int n)

 {

    int year=10;

    if(n==1)

    {

        year=10;

    }

    else

    {

        year=2+i(n-1);

       

    }

    

 }

int main() 

{

    

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

return 0;

}


提问者:CJH153 2018-11-19 22:27

个回答

  • qq__9987
    2019-01-06 11:57:13

    计算机中存在一个寄存器,本身就有一个默认的值,如果你不写返回值,就会返回寄存器中存放的这个默认的值。

  • CJH153
    2018-11-21 21:47:36

    嗯,我问这个就是想知道返回值的作用具体是什么,以及return在内存中是怎么操作的。

    求大佬解释解释。

  • 慕无忌1084647
    2018-11-21 21:35:52

    为啥i(2)是3呢,这我没想通..