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

各位帮我看看代码哪出错了

#include <stdio.h> 


int getAge(n)

{

int num;

if(n == 1)

{

return 10;

}

else if(n>1)

{

num = getAge(n-1) + 2;

printf("第%d个人的年龄是%d岁\n", n, num);

}

else

{

printf("输入错误!\n");

}

}


int main()

{

int Num = getAge(5);

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

getchar();

return 0;

}


正在回答

2 回答

已解决,错误是在定义函数最后没写return num;

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

#include <stdio.h> 

int getAge(n)

{

    int num;

    if(n == 1)

    {

        return 10;

    }

    else 

    {

    num = getAge(n-1) + 2;

   

    }

    return num;

}

int main()

{

    int Num = getAge(5);

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

    

    return 0;

}

帮你改了一下,题目只让你输出第5个人的年龄,其他的不同考虑。

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

gadada 提问者

else { num = getage(n-1)+2; //printf("第%d个人的年龄是%d岁\n",n,num); /*上面这行不注释的时候第五个人的输出就变成28了,printf对num的值有什么影响嘛。 注释输出: 第1个人的年龄是10岁 第5个人的年龄是18岁 不注释输出: 第1个人的年龄是10岁 第2个人的年龄是12岁 第3个人的年龄是30岁 第4个人的年龄是30岁 第5个人的年龄是30岁 第5个人的年龄是28岁*/
2019-03-30 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

各位帮我看看代码哪出错了

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