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

救命救命 请大神指教

#include

int people(num)

 { 

int age;

 if (people==1) 

     age=10;

 else   

    age= people(num-1)+2;

    return age; 

}     

int main()

 {    

int age5 = people(5);

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

 return 0;

 } //错在哪???我要疯了!!!为什么???

提问者:别逼我打开屏幕 2018-02-09 09:58

个回答

  • 慕数据5067162
    2018-02-09 12:36:21
    已采纳

    你看看吧。

    #include <stdio.h>  //你的错误:没加<stdio.h>

    int people(int num)//你的错误:在num前面加int 强调传过来的字符类型

     { 

    int age;

     if(num==1)     //你的错误:不是people   是num(看第二行代码int people(int num))

     { age=10;}

     else   

     { age= people(num-1)+2;

        return age; 

     }

    }     

    int main()

     {    

    int age5 = people(5);

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

     return 0;

     }

    运行成功了,,不知道你的结果对不对,反正你这样打结果是9岁