问答详情
源自:5-9 递归函数练习

我这样为什么没通过?

#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;
}


提问者:arafatttttt3416744 2016-06-08 09:12

个回答

  • 五只呆河马
    2016-07-23 21:49:05

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

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

  • qq_理想泡沫_0
    2016-07-16 14:01:14

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

  • wonderly321
    2016-06-08 16:34:44

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