慕码人3568966
2018-04-16 13:10
#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
n一直在增加,你没有设置终止条件(题目中给的终止条件是当n=1时返回1结束),循环一直执行(即死循环)。
getWordNumber (n+1)*n/2
括号里面 n+1 这递归是个死循环~ 永远跳不出来 在括号里面用 n-1
C语言入门
926020 学习 · 20793 问题
相似问题