错在哪里了?

来源:5-9 递归函数练习

Dannycn

2017-04-22 17:37

#include

int getage(int n) {     

int age;     

if (n<1){        

return 0;     

}    

 else{

 if(n==1)

 age=10; 

 }       

 age = (getage(n-1))+2;        

return age;    

 } 

 } 

 int main() {    

int n=5; 

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

 return 0;

 } 

错在哪里了?

写回答 关注

2回答

  • wangqicc
    2017-04-25 17:09:55
    已采纳

    问题出在age(n),这里应改为getage(n);
    此外,也可以通过在main()函数中定义一个变量m,用m来获取函数的返回值,即:
    int m;
    m=getage(n);

    wangqi... 回复奇怪的阿怪

    看起来更直观一点

    2017-07-28 08:49:22

    共 3 条回复 >

  • 慕粉1132378325
    2017-04-23 00:41:59
    #include <stdio.h>
    int getage(int n) 
    {     
    int age;     
    if (n<1)
    {        
    return 0;     
    }    
     else{
     if(n==1)
    { 
     age=10; 
     }       
     age = (getage(n-1))+2;        
    return age;    
     } 
    
     } 
    
    
     int main() 
     {    
    int n=5; 
     printf("第5个人的年龄是%d岁", getage(n)); 
     return 0;
     } 
     
     给你改了 运行了 没问题


C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926028 学习 · 20793 问题

查看课程

相似问题