C Program to find the sum of the digits of a number using recursion function

This C program calculates the sum of digits of a given number using recursion. Here’s a concise explanation:

  1. Function Definition: sumDigits(int n)
    • This function calculates the sum of digits of a number n.
    • The base case checks if n is 0. If true, it returns 0 (no digits to sum).
    • Otherwise, it uses recursion by summing the last digit of n (obtained by n % 10) with the sum of the remaining digits (obtained by sumDigits(n / 10)).
  2. Main Function: main()
    • The main function begins the execution of the program.
    • It declares two variables: num for user input and result to store the sum of digits.
    • The user is prompted to enter a number, which is then stored in the variable num.
    • The sumDigits function is called with num as an argument, and the result is stored in the result variable.
    • The program prints the sum of digits.
  3. Output:
    • The program outputs the calculated sum of digits for the given input.
#include <stdio.h>

int sumDigits(int);
int main()
{
  int num, result;

  printf("Enter a number: ");
  scanf("%d", &num);

  result = sumDigits(num);

  printf("Sum of digits of a number: %d", result);

  return 0;
}

int sumDigits(int n)
{
  if (n == 0)
    return 0;

  return (n % 10 + sumDigits(n / 10));	//recursion call
}

Output:

Enter a number: 123
Sum of digits of a number: 6

Learn more on recursion.