#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