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

求解!!!!!

#include <stdio.h>
/* 定义获取单词数量的函数 */
int getWordNumber(int n)
{  
    if(n == 1)
    {
        return 1;    //第一天只会1个单词
    }
    else{
        return getWorldNumber(n-1)+n ;       //到第天会的单词数量
    }
}
int main()
{
    int num = getWordNumber(10);     //获取会了的单词数量
    printf("小明第10天记了:%d个单词。\n", num);
    return 0;
}



哪里错了

正在回答

1 回答

 if(n == 1)
    {
        return 1;    //第一天只会1个单词
    }
    else{
        return getWorldNumber(n-1)+n ;       //到第天会的单词数量
    }
}

WordNumber,你写成了WorldNumber。其他都对。

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

XpG12138

把n-1换成n--为什么报错
2018-09-01 回复 有任何疑惑可以回复我~
#2

要死综合征晚期 回复 XpG12138

简单说明n-1和n--还有--n在使用中区别; n-1就是表达式n-1; n--是程序先调用n,调用完成后再执行n=n-1; --n是先执行n=n-1,此时n值已经改变,然后程序再调用改变后的n; 在return getWordNumber(n-1)+n这个语句中,如果将改为return getWordNumber(n--)+n,那么就是先执行getWordNumber(n)+n,再执行n=n-1。但是getWordNumber(n)又回到了最初的函数,所以它会死循环执行下去,就会报错了,不知到我这样讲清不清楚。
2018-09-02 回复 有任何疑惑可以回复我~
#3

XpG12138 回复 要死综合征晚期

懂了,谢谢
2018-09-02 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

求解!!!!!

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