为了账号安全,请及时绑定邮箱和手机立即绑定

错在哪里了?

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

 } 

错在哪里了?

正在回答

4 回答

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

0 回复 有任何疑惑可以回复我~
#1

Dannycn 提问者

非常感谢!
2017-07-03 回复 有任何疑惑可以回复我~
#2

奇怪的阿怪

请问在main函数中定义一个变量来获取函数的返回值有什么好处呢?
2017-07-27 回复 有任何疑惑可以回复我~
#3

wangqicc 回复 奇怪的阿怪

看起来更直观一点
2017-07-28 回复 有任何疑惑可以回复我~
#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;
 } 
 
 给你改了 运行了 没问题


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926025    人
  • 解答问题       20793    个

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

进入课程

错在哪里了?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信