A function that calls itself is called recursion function.

Syntax:

```
void recurse(){
....
recurse();
...
}
int main(){
....
recurse();
....
return 0;
}
```

In the above code the function recurse() will call itself again and again.

To prevent it we can add if else statement.

```
void recurse(){
if(condition){
....
}
else{
recurse();
}
...
}
```

**Task 1: Program to find the sum of n natural numbers.**

```
#include <stdio.h>
int main() {
int number, result;
printf("Enter a number: ");
scanf("%d", &number);
result = findSum(number);
printf("Sum = %d", result);
return 0;
}
int findSum(int num){
if(num!=0){
return num + findSum(num - 1);
}else{
return 0;
}
}
```

**Task 2: Program to find the factorial of a number:**

```
#include <stdio.h>
int main() {
int number, result;
printf("Enter a number: ");
scanf("%d", &number);
result = findSum(number);
printf("Sum = %d", result);
return 0;
}
int findSum(int num){
if(num!=0){
return num * findSum(num - 1);
}else{
return 1;
}
}
```

## Top comments (0)