C语言9.8实践与练习第5题求教!!(从入门到精通第5版!)
发表在C语言图书答疑 2022-10-09 《C语言从入门到精通(第3版)》第9章 函数
是否精华
版块置顶:

#include<stdio.h>

int getage(int n);//声明函数

int main()

{

int age;//定义整型变量,存储年龄

age = getage(5);//调用函数计算年龄

printf("-------------------------------\n");

printf("        戊的年龄是:%d岁\n", age);//输出戊的年龄

    printf("-------------------------------\n");

return 0;//程序结束

}

int getage(int n)//自定义函数

{

if (n==1)//如果是甲

{

return 10;//返回10岁

}

return 2 + getage(n - 1);//递归调用,调用getage()本身函数同时加2

}


这里的递归调用没有看明白,递归调用是怎么运行的呢,到return 2 + getage(n - 1)这句时,像循环一样返回到函数的第一句开始还是。而且为什么是getage(n - 1)这样写

另外,为什么主函数中age = getage(5);句是getage(5),甲的年龄不是10岁吗


分享到:
精彩评论 2
haoyoung
学分:6 LV1
2022-10-09
沙发

int getage(int n)//自定义函数

{

if (n==1)//如果是甲

{

return 10;//返回10岁

}

return 2 + getage(n - 1);//递归调用,调用getage()本身函数同时加2

}

最后一句return 2 + getage(n - 1);为什么前面要加一个return

小禾斗
学分:7318 LV13
TA的每日心情
奋斗
2017-04-21 14:00:25
2022-10-10
板凳

return是返回指定类型的数

首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照