递归函数还是不太懂,请问我这么写错在了那里?

#include <stdio.h> 

int peopleage(n)

 if(n==1)

 int age;

 {

     age=10;

     return 1;

 }

 else

 {

     age= peopleage(n-1)+2;

    

 }

 return age;




int main() 

{

    fifth=peopleage(5);

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

return 0;

}


慕粉3374841
浏览 1377回答 3
3回答

Lemon156

#include <stdio.h>  int peopleage(n) {  int age;  if(n==1){  age=10;  return 10;  }else{  age= peopleage(n-1)+2;  }  return age;   } int main()  { int fifth=peopleage(5); printf("第5个人的年龄是%d岁", fifth);  return 0; }正确代码应该是这样的,你的代码里存在错误:1.代码格式应该尽量清晰一点2.定义函数没有大括号;3.定义变量的位置不对4.主函数中的fifth变量是需要先定义再赋值的望采纳

望远

#include <stdio.h>  int peopleage(int n) {      int age;      if(n==1){          return 10;      }else{          age= peopleage(n-1)+2;                }  return age;        } int main()  {     int fifth=peopleage(5);     printf("第5个人的年龄是%d岁\n", fifth);      return 0; }

onemoo

完整代码就是这样吗?是的话,就错在你的代码“不完整”:peopleage的函数体大括号去哪里了??其中if语句的语法也错了,把 if 和下面 声明age那行 交换一下
打开App,查看更多内容
随时随地看视频慕课网APP