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

错在哪里了?

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

 } 

错在哪里了?

提问者:Dannycn 2017-04-22 17:37

个回答

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

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

  • 慕粉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;
     } 
     
     给你改了 运行了 没问题