![]() |
Sum numbers recursively
I have been brushing up on recursion. I have a typical problem here. I want to sum up all the numbers between two bounds.The end bounds are included in the sum. I have here a small program to the do the above. Except it goes into infiinite loop. Here is the listing:
Code:
#include <stdio.h> |
Re: Sum numbers recursively
I'm new to this, but I believe it's because you did not define 'result'. If you were to define it as an int, that may solve your problem.
Alternately, you could leave result out all together and just return a+sum(++a,b); |
Re: Sum numbers recursively
Actually I removed the result altogether ......... still the same result.
|
Re: Sum numbers recursively
#include <stdio.h>
#include <conio.h> int sum(int a,int b) { if(a>=b) return 0; return a+sum(++a,b); } int main() { int i,j,r=0; printf("Enter the range: "); scanf("%d %d",&i,&j); printf("The result is :",sum(i,j)); getch(); return 0; } ##########Still loops infinitely############## |
Re: Sum numbers recursively
The following code:
Code:
return a+sum(++a,b);Code:
int temp = sum(++a,b)Jim |
Re: Sum numbers recursively
I solved this problem this way.
int inc(int a) { return ++a; } #include <stdio.h> int sum(int a,int b) { if(a>=b) return 0; result= a+sum(inc(a),b); return result; } int main() { int i,j,r=0; printf("Enter the range: "); scanf("%d %d",&i,&j); printf("The result is :%d",sum(i,j)); getch(); return 0; } |
| All times are GMT +5.5. The time now is 20:07. |