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

**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)`

).

- This function calculates the sum of digits of a number
**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.

**Output:**- The program outputs the calculated sum of digits for the given input.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #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**.