Ma fonction prend une entrée numérique de l'utilisateur et somme récursivement le nombre 'n' à un.
La saisie d'un 5 équivaudrait à 1/5 + 1/4 + 1/3 + 1/2 + 1/1.La fonction récursive renvoie un résultat inattendu
#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
Le problème est, qu'il donne 0:/Quelqu'un peut-il aider, s'il vous plaît?
Indiquez votre question dans le corps de la question afin que votre question ne se ferme pas. – AraK
Les devoirs peut-être? – spender
Avez-vous essayé de vérifier ce qui se passe dans le débogueur? il y a une erreur triviale. mais vous devriez essayer de le résoudre vous-même avant de poser de telles questions. –