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

为什么不能加括号?

#include <stdio.h>

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

int getWordNumber(int n)

{   

    if(n == 1)

    {

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

    }

    else{

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

    }

}

int main()

{

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

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

    return 0;

}


提问者:黄锋 2015-07-10 23:27

个回答

  • 342425
    2015-08-04 02:08:58

    由于优先级的关系,你加了括号那就要先算外边括号里边的部分,里边部分是(n-1)+n,这个结果是等于-1的,由于是-1,所以return的是1

  • 康振宁
    2015-07-13 15:38:18

    括号?哪里?