**已关闭。**此问题为not reproducible or was caused by typos。目前不接受答案。
这个问题是由一个打字错误或一个无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
5天前关闭。
Improve this question
#include <stdio.h>
#include <stdlib.h>
//anadromikh synarthsh
int recursive(int n);
int main()
{ int a;
int sum;
printf("give a number from 1to n\n");
scanf("%d", &a);
sum=recursive(a);
printf("the result is %d\n", sum);
return 0;
}
int recursive(int n)
{
int k;
if (k == 1)
{
return 1;
}
else
return (recursive(k-1)+k);
}
我把数字5举个例子。我期待的总和1+2+3+4+5=15,但编译器返回的结果像85478等,我找不到哪里出了问题。我尝试了devc/c++和在线编译器,但没有工作
1条答案
按热度按时间ddhy6vgd1#
这一点:
在代码将
k
与1
进行比较之前,k
的值是什么?(提示:它可以是任何东西)。我的超能力显示你真的想用
n
而不是用k