#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;
}前面的部分是用来定义递归函数的。有两个鄙薄之见:第一,第一个人十岁而不是第五个人十岁;第二,定义的递归函数,出错了。你可以测试一下,n等于5时,num是不是等于10。
然后解决这两个,准确来说,主要是弄清第二个问题,这类函数,就没有问题了。
第一点:num 作为函数的变量需要在使用前声明,第二点if语句中的num需要被return,即if ( num ==5 ) return =10
首先 num变量在使用前要声明,其次num==10是判断句,返回的是0或者1