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

我这样为什么没通过?

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

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


正在回答

3 回答

前面的部分是用来定义递归函数的。有两个鄙薄之见:第一,第一个人十岁而不是第五个人十岁;第二,定义的递归函数,出错了。你可以测试一下,n等于5时,num是不是等于10。

然后解决这两个,准确来说,主要是弄清第二个问题,这类函数,就没有问题了。

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

第一点:num 作为函数的变量需要在使用前声明,第二点if语句中的num需要被return,即if ( num ==5 )  return =10

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

首先 num变量在使用前要声明,其次num==10是判断句,返回的是0或者1

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

举报

0/150
提交
取消

我这样为什么没通过?

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