Check out example codes for "recursion in cpp with reference". It will help you in understanding the concepts better.

Code Example 1

``````void sum_digits(int & n, int & sum)
{
if ( n == 0 ) return;
sum += n % 10;
n /= 10;
sum_digits(n, sum);
}

#include <iostream>
using namespace std;

int main()
{
int n, sum=0;
cout << "enter a non-negative number" << endl;
cin >> n;
if ( n < 0 ) return -1; // don't trust the user
sum_digits(n,sum);
cout << "sum is " << sum << endl;
}``````

Code Example 2

``````#include <iostream>
#include <cstdlib> //had to force it becasue my compiler (Code::Blocks) does not contain system.

using namespace std;
/*int n = 1, sum = 0;

int sumDigits(int n, int sum)
{
//
if (n == 0)
{
return sum;
}
else
{
// applying recursion and returning the value into the function
sum = sum + n%10;
n= n/10;
return sumDigits(n, sum);
}
}

int main(int argc, char* argv[])
{
n = 1, sum = 0;

cout << "Enter a non-negative integer: ";
cin >> n;
sum = sumDigits (n, sum);
cout << "The sum of all digits "<< n << " is: " << sum << endl;

system ("PAUSE");

return 0;
}
*/

int sumDigits(int &);

int main()
{
int n;
sumDigits(n);
}

int sumDigits(int &n)
{
cout << "Enter a non-negative integer: ";
cin >> n;
if (n == 1)
{
return 1;
}
else
{
return (n - 1) + n;
}
cout << "The sum of all digits "<< n << " is: " << n << endl;

system ("PAUSE");

return 0;
}``````

Learn ReactJs, React Native from akashmittal.com