I have written a recursive code in CPP to calculate sum of first n numbers, as I am not returning s, but code is working fine. Is ‘s’ variable is shared with all functions.
#include<iostream>
using namespace std;
int sum(int n){
int s = 0;
if(n == 0) return 0;
s = n + sum(n - 1);
}
int main(){
int n;
cin >> n;
int s = sum(n);
cout << s;
return 0;
}
>Solution :
You should return an integer from sum if n is not equal to 0.
#include<iostream>
using namespace std;
int sum(int n){
if(n == 0) return 0;
return n + sum(n - 1);
}
int main(){
int n;
cin >> n;
int s = sum(n);
cout << s;
return 0;
}