为了账号安全,请及时绑定邮箱和手机立即绑定

关于年龄返回的问题

为什么这里当n=1时,不返回year=10而是返回了year=18,真的有点不理解

正在回答

3 回答

a(1)    1第一个人当然直接返回10岁      

0 回复 有任何疑惑可以回复我~

#include <stdio.h> 

/* 

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

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

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

 */

int a(year)

{

    int sum ;

    if (year==1){

        sum=10;

    }

    else{

        sum=a(year-1)+2;

    }

    return sum;

}


int main() 

{

printf("第5个人的年龄是%d岁",a(1));           //这里就是你所谓的第一个人1   输出的为20

return 0;

}


0 回复 有任何疑惑可以回复我~
#1

慕容7973759

输出为10 上个打错了.。。。。。。。。。
2018-11-01 回复 有任何疑惑可以回复我~
#2

老有意思了 提问者

这里打a(1)是直接判断year=1就是运行了if后的语句了,没有走else啊
2018-11-02 回复 有任何疑惑可以回复我~
#3

慕容7973759 回复 老有意思了 提问者

a(1) 1第一个人当然直接返回10岁
2018-11-08 回复 有任何疑惑可以回复我~

“这里”是哪里??代码都不贴的么??

0 回复 有任何疑惑可以回复我~
#1

老有意思了 提问者

int GB(int n) { int year; if(n==1) { return 10; } 就是上面的这些; 然后下面的 else { year=(n-2)+n; } return GB (n-2)+n; } 这个也有一点搞不明白,就是为什么n=1,返回的不是10,而是18
2018-11-02 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926229    人
  • 解答问题       20798    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

关于年龄返回的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信