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

为什么输出是8?

#include <stdio.h> 
/* 
 * 请使用递归函数完成本题
 * 小编已将正确代码放在左侧任务的“不知道怎么办”里
 * 小编希望各位童鞋独立完成哦~
 */
int getAge(p){
    int age;
    if(p==1){
        age=10;
    }
    else{
        age= getAge(p-1)+2;
        return age;
    }
}








int main() 
{
    
	printf("第5个人的年龄是%d岁", getAge(5)); 
	return 0;
}


正在回答

2 回答

#include <stdio.h> 
/* 
 * 请使用递归函数完成本题
 * 小编已将正确代码放在左侧任务的“不知道怎么办”里
 * 小编希望各位童鞋独立完成哦~
 */

int getAge(p){
    int age;
    if(p==1){
        age=10;
        return age;
    }
    else{
        age= getAge(p-1)+2;
        return age;
    }
}

int main() 
{
    
	printf("第5个人的年龄是%d岁", getAge(5)); 
	return 0;
}

这样才对,你if(p==1)里面少了return age

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

寂零式暧昧 提问者

非常感谢!
2017-10-16 回复 有任何疑惑可以回复我~

return age不属于else的部分

放在最后,else的外面

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

举报

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

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

进入课程

为什么输出是8?

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