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

哪错了大神求指点

include <stdio.h> 

int age(int s);

int i;

{

  if (s==1)

  return 10;     

  else

  {

      i=age(s-1)+2;

      return i;

  }

}

int main() 

{

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

return 0;

}


提问者:Tobiaslight 2015-08-28 11:54

个回答

  • xiedukai
    2015-08-28 13:14:54
    已采纳

    你那个头部不是include,是#include。还有那个i没有赋初始值不会有问题,安全起见最好i=0;最后这两个int age(int s);int i;换一下位置,int age(int s);后面的";"去掉,因为他是一个函数,与下面的花括号是一个整体的,不能将他们分开。


  • 阿西咕噜
    2015-08-28 14:13:03

    #include <stdio.h> 

    int age(int s){

      int i;

      if (s==1)

          return 10;     

      else

      {

          i=age(s-1)+2;

          return i;

      }

    }

    int main() 

    {

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

    return 0;

    }


  • qq_你是我的小呀小芒果_0
    2015-08-28 13:49:11

    引用了 .h 文件 你这个写的是单片机程序吗 

  • SpLenDid
    2015-08-28 12:14:50

    是顺序错了,int i;应该在函数age前面

  • ywb
    2015-08-28 12:09:57

    i没有初始化吧