关于递归函数 return的问题

#include <stdio.h>

int getage(int n)

{

    int age;

    if (n==1)

    age=10;

    else

    age=getage(n-1)+2;

    return age;

}


int main()

{

    

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

return 0;

}

如果没有return age 为什么运行后是9岁,他是如何运算的

宝慕林1286320
浏览 1474回答 2
2回答

onemoo

如果一个函数声明了返回类型,那它在返回时就一定要返回适当的值,否则返回值是不确定的!所以,如果你不写 return age;  那么到底会返回什么值完全是不确定的。 你不用研究它为什么是9,它返回什么都有可能...

NoteF

函数调用成功 bool 转 int 为 11+2+2+2+2+2 = 9
打开App,查看更多内容
随时随地看视频慕课网APP