问答详情
源自:5-7 递归函数(一)

各位大哥,递归函数的变量在函数外部声明为啥不行呢?

#include <stdio.h>

/* 定义获取单词数量的函数 */

int getWordNumber(int n)

int result:

{   

    

    if(n == 1)

    {

        return 1;    //第一天只会1个单词

    }

    else{

        

       result=getWordNumber(n-1)+n;       //到第天会的单词数量

    }

  return result;

}

int main()

{

    int num = getWordNumber(10);     //获取会了的单词数量

    printf("小明第10天记了:%d个单词。\n", num);

    return 0;

}


提问者:慕慕4533806 2020-03-26 23:05

个回答

  • 阿糜
    2020-04-04 18:53:44

    我试了下,在外部声明好像不是不可以(?)

    你这个主要问题不应该了是位置放反了吗,把result的定义放在函数的定义上面才对吧,现在这个代码差不多把函数的定义给拆掉了,会直接报错,顺便定义result之后你的标点应该是分号不是冒号吧

    int result;

    int getWordNumber(int n){}   //你把int result插入在这中间了