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

函数调用问题


#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;

改变了getWordNumber 的函数的计算语句为什么就不行了

改为 getWordNumber (n+1)*n/2


正在回答

2 回答

n一直在增加,你没有设置终止条件(题目中给的终止条件是当n=1时返回1结束),循环一直执行(即死循环)。

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

getWordNumber (n+1)*n/2 

括号里面  n+1  这递归是个死循环~   永远跳不出来   在括号里面用  n-1

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

举报

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

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

进入课程

函数调用问题

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