제 funciton은 사용자로부터 숫자 입력을 받아서 '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이라는 의미입니다./아무도 도와 줄 수 있습니까?
질문 본문에 질문을 올려 귀하의 질문이 닫히지 않도록하십시오. – AraK
아마도 숙제입니까? – spender
디버거에서 무슨 일이 일어나는지 확인하려고 했습니까? 사소한 실수가있다. 그런 질문을하기 전에 직접 해결해야합니다. –