gpt4 book ai didi

c++ - 递归函数返回意外结果

转载 作者:太空宇宙 更新时间:2023-11-04 01:42:22 24 4
gpt4 key购买 nike

我的函数接受用户输入的数字,并递归地将数字“n”相加为 1。
输入 5 的总和为 1/5 + 1/4 + 1/3+ 1/2 + 1/1。

#include<stdio.h>
#include<conio.h>
//to
float recursion(float num,float sum);
void main(void)
{
float num=5,sum=0;
//input num
printf("%d",recursion(num,sum));

getch();
}

float recursion(float num,float sum)
{
// int sum=0; every time u run it the sum is assigned 0
if( num==1)
return 1;
else
{
sum=sum+(1/num);
num--;
recursion(num,sum);
}
return sum;
}//recursion function ends

问题是,它给出的是 0。有人可以帮忙吗?

最佳答案

你应该返回递归调用的结果:

return recursion(num,sum);

而不是返回总和

关于c++ - 递归函数返回意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3148903/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com